
:root{
  --sda-blue: #003764;       /* Adventist dark blue (Adventist Health palette) */
  --sda-light: #00A0DD;      /* Accent blue */
  --ink: #122029;
  --muted: #6c7a89;
  --bg: #ffffff;
  --bg-alt:#f6f9fc;
  --card:#ffffff;
  --radius: 14px;
  --shadow: 0 8px 24px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;/* .sabbath-program-item {
	margin-right: 2cm;
} */}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}

.container{max-width:1140px;margin:auto;padding:0 16px}
.grid{display:grid;gap:20px}
.card{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:20px;
}

a{color:var(--sda-blue);text-decoration:none}
a:hover{color:var(--sda-light)}

.btn{
  display:inline-block;
  background:var(--sda-blue);
  color:#fff;
  padding:12px 18px;
  border-radius:10px;
  font-weight:600;
  box-shadow:0 8px 20px rgba(0,55,100,.25);
  transition:transform .08s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover{background:#0b4f8a;transform:translateY(-1px)}
.btn.outline{background:#fff;color:var(--sda-blue);border:2px solid var(--sda-blue)}

header.site{
  position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e9eef3
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo{width:40px;height:40px;border-radius:10px;background:var(--sda-blue);display:grid;place-items:center;color:#fff;font-weight:800}
.brand .title{font-weight:800;font-size:18px;letter-spacing:.2px;color:var(--sda-blue)}

nav.primary{display:flex;gap:14px;align-items:center}
nav.primary a{padding:10px 12px;border-radius:8px}
nav.primary a.active, nav.primary a:hover{background:var(--bg-alt)}

.nav-toggle{display:none;border:none;background:transparent;font-size:28px}

@media (max-width: 860px){
  nav.primary{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid #e9eef3;padding:10px}
  nav.primary.open{display:grid;grid-template-columns:1fr}
  .nav-toggle{display:none}
}

.hero{
  position:relative;overflow:hidden;background:linear-gradient(135deg, #003764 0%, #0b4f8a 60%, #00A0DD 100%);color:#fff
}
.hero .inner{padding:64px 64px;}
.hero h1{margin:0 0 8px 0;font-size:clamp(28px, 3vw + 16px, 46px);line-height:1.15}
.hero p{margin:0 0 18px 0;max-width:60ch}
.hero .tag{display:inline-block;background:rgba(255,255,255,.15);padding:6px 10px;border-radius:999px;font-weight:600;margin-bottom:10px}

.section{padding:40px 0}
.section.alt{background:var(--bg-alt)}
.section h2{margin:0 0 8px 0;font-size:clamp(22px, 2vw + 12px, 32px)}
.section .sub{color:var(--muted);margin-bottom:18px}

.list{display:grid;gap:10px}
.list li{list-style:none;display:flex;gap:10px;align-items:flex-start}
.badge{display:inline-block;background:var(--bg-alt);padding:4px 8px;border-radius:999px;font-size:12px}

.footer{background:#0b1f33;color:#cdd8e6;padding:30px 0}
.footer a{color:#cdd8e6}
.footer .cols{display:grid;gap:16px;grid-template-columns:repeat(auto-fit, minmax(220px,1fr))}
.footer .brandline{display:flex;align-items:center;gap:12px;font-weight:700;color:#fff}

.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th{text-align:left;color:var(--muted);font-weight:600}
.table td,.table th{padding:10px 12px;background:#fff}
.table tr{box-shadow:var(--shadow);border-radius:12px}
.table td:first-child,.table th:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}
.table td:last-child,.table th:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}

.sidebar-layout{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:980px){
  .sidebar-layout{grid-template-columns:3fr 1.2fr}
}

.pastor-card{
  display:grid;grid-template-columns:80px 1fr;gap:14px;align-items:center;background:#fff;
  border:1px solid #e9eef3;border-radius:14px;padding:12px
}
.pastor-card img{width:80px;height:80px;border-radius:12px;object-fit:cover;background:#dde7f1}

.pastor-card:nth-child(1){
	padding: 20px;
	grid-column: span 1;
	grid-row: span 2;
}



.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.gallery img{width:100%;border-radius:12px;object-fit:cover;aspect-ratio:4/3;background:#e8eef6}

.kv{display:grid;gap:10px;grid-template-columns:120px 1fr;align-items:center}
.kv .k{color:var(--muted);font-weight:600}
.kv .v{font-weight:700}

.alert{padding:12px 14px;border-left:4px solid var(--sda-light);background:#e8f7ff;border-radius:10px}
.small{font-size:14px}

.footer a{color:#cdd8e6}


/* === FPSC quick header/brand styles === */
.brand { display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; }
.brand-logo { height: 56px; width: auto; display:block; }
@media (max-width: 480px){ .brand-logo { height: 48px; }
}
/* Auto-swap to white logo when header/nav has dark background */
.header.dark .brand-logo, header.dark .brand-logo, .footer-dark .brand-logo {
  content: url("../images/logo-white.png");
}


/* === FPSC footer refresh === */
.site-footer { background:#0B1935; color:#fff; padding:28px 12px 12px; }
.site-footer a { color:#fff; text-decoration:none; }
.site-footer a:hover { text-decoration:underline; }
.footer-inner { max-width:1100px; margin:0 auto; }
.footer-brand { display:flex; align-items:center; gap:16px; margin-bottom:12px; }
.footer-brand .brand-logo { height: 48px; }
.footer-columns { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.footer-columns h4 { margin:.25rem 0 .5rem; font-size:1rem; }
.footer-columns ul { list-style:none; padding:0; margin:0; }
.footer-columns li { margin:.35rem 0; }
.newsletter { display:flex; gap:8px; margin:.5rem 0 1rem; }
.newsletter input { flex:1; padding:.55rem .65rem; border-radius:.5rem; border:0; }
.newsletter button { padding:.55rem .9rem; border-radius:.5rem; border:0; font-weight:600; cursor:pointer; }
.socials { display:flex; gap:12px; font-weight:600; }
.copyright { border-top:1px solid rgba(255,255,255,.15); margin-top:24px; padding-top:8px; font-size:.9rem; opacity:.9; }

@media (max-width: 800px){
  .footer-columns { grid-template-columns: 1fr; }
  .footer-brand { flex-direction:column; align-items:flex-start; }
}


/* === Sabbath Program Card Styles (added) === */
.program-section { padding: clamp(1.25rem, 2vw, 2rem) 0; }
.program-card {
  max-width: 960px;
  margin: 0 auto;
  background: var(--surface, #fff);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  padding: clamp(1rem, 2.5vw, 2rem);
}
.program-title {
  margin: 0 0 .25rem 0;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  line-height: 1.2;
}
.program-verse, .program-blessing {
  margin: .25rem 0 1rem;
  color: rgba(0,0,0,.7);
  font-style: italic;
}
.program-block { margin-top: 1rem; }
.program-subtitle {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  margin: .5rem 0 .5rem;
}
.program-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: .5rem;
}
.program-list li {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: .75rem;
  align-items: baseline;
  padding: .5rem .75rem;
  border-radius: 10px;
  background: rgba(0,0,0,.025);
}
.program-list .time {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: rgba(0,0,0,.8);
}
.program-list .desc { color: rgba(0,0,0,.85); }
.program-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,.12), transparent);
  margin: 1rem 0;
}
@media (min-width: 720px) {
  .program-list {
    grid-template-columns: 1fr;
  }
  .program-list li {
    grid-template-columns: 180px 1fr;
  }
}
/* === End Sabbath Program Card Styles === */


/* === Logo HD sizing utilities (added) === */
img.logo, .site-logo img, header .logo img {
  height: clamp(36px, 5vw, 48px);
  width: auto;
  image-rendering: -webkit-optimize-contrast;
}
/* Optional helper: add .use-white-logo on header to switch to white variant */
header.use-white-logo img[alt="Freedom Park SDA Church Logo"] {
  content: url("../img/fpc-logo-white.svg");
}
/* === End Logo HD utilities === */


/* === Card row adjustments for 3-column layout === */
.cards-row.cards-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.cards-row.cards-3 .card {
  flex: 1;
}
/* Ensure footer logo is white and sized properly */
footer img[alt="Freedom Park SDA Church Logo"] {
  content: url("../img/fpc-logo-white.svg");
  height: 48px;
  width: auto;
}


/* === Homepage Cards Layout (updated) === */
.home-cards {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: clamp(12px, 2vw, 20px);
  align-items: start;
}
.home-cards .left-stack {
  display: grid;
  gap: clamp(12px, 2vw, 16px);
}
.home-cards .left-stack .card {
  padding: clamp(.8rem, 2vw, 1rem);
  border-radius: 14px;
}
#sabbath-program-card.card.program-card {
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border-radius: 16px;
}
/* Typography tweaks for compact left cards */
.left-stack .card .card-title { font-size: clamp(1rem, 1.8vw, 1.15rem); margin-bottom: .35rem; }
.left-stack .card p { font-size: clamp(.9rem, 1.6vw, .98rem); line-height: 1.4; }

/* Program list visuals (match clean, aligned look) */
.program-list {
  list-style: none;
  margin: .25rem 0 0 0;
  padding: 0;
  display: grid;
  gap: .4rem;
}
.program-list li {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: .5rem;
  padding: .35rem .5rem;
  border-radius: 10px;
  background: rgba(0,0,0,.03);
}
.program-verse, .program-blessing { color: rgba(0,0,0,.7); font-style: italic; margin: .35rem 0 .75rem; }
.program-subtitle { margin: .5rem 0 .35rem; font-size: clamp(1.02rem, 2vw, 1.18rem); }
.program-divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(0,0,0,.15), transparent); margin: .75rem 0; }
@media (max-width: 900px) {
  .home-cards { grid-template-columns: 1fr; }
}
/* === End Homepage Cards Layout === */

/* Footer: use white logo */
footer .site-logo img[alt="Freedom Park SDA Church Logo"] {
  content: url("../img/fpc-logo-white.svg");
}


/* === Compact cards for Mission & Visit Us === */
.card.compact { padding: .9rem 1rem; }
.card.compact h3 { font-size: 1.05rem; margin-bottom: .35rem; }
.card.compact p { font-size: .95rem; line-height: 1.45; }
hr.soft { border: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(0,0,0,.2), transparent); margin: .75rem 0; }
.muted { color: rgba(0,0,0,.7); }
.italic { font-style: italic; }
/* === End compact cards === */


/* === Sabbath Program Wide Layout === */
.card.program-wide {
  grid-column: 1 / -1; /* span full width in grid */
}
.card.program-wide .list li {
  display: grid;
  grid-template-columns: 160px 1fr;
  white-space: nowrap; /* prevent wrapping of time */
}
.card.program-wide .list li .time,
.card.program-wide .list li strong {
  display: inline-block;
  width: 160px; /* uniform column width */
  font-variant-numeric: tabular-nums;
}
.card.program-wide .list li .desc {
  white-space: normal; /* allow description wrapping */
}
@media (max-width: 700px) {
  .card.program-wide .list li {
    grid-template-columns: 120px 1fr;
  }
  .card.program-wide .list li .time,
  .card.program-wide .list li strong {
    width: 120px;
  }
}
/* === End Sabbath Program Wide Layout === */


/* === Homepage Left/Right Grid === */
.home-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: clamp(16px, 3vw, 24px);
  align-items: start;
}
.home-grid .right {
  display: grid;
  gap: clamp(12px, 2vw, 16px);
}
.home-grid .right .card {
  padding: .9rem 1rem;
  border-radius: 14px;
}
.home-grid .left .card { padding: 1.2rem 1.5rem; }

/* Force times one column alignment */
#sabbath-program-card ul.list li {
  display: grid;
  grid-template-columns: 120px 1fr;
  white-space: nowrap;
	text-align: left;
}
#sabbath-program-card ul.list li strong { width: 120px; display: inline-block; }
#sabbath-program-card ul.list li span.desc { white-space: normal; }


@media (max-width: 900px) {
  .home-grid { grid-template-columns: 1fr; }
}

/* Footer logo swap to white */
footer img[alt="Freedom Park SDA Church Logo"] {
  content: url("../img/fpc-logo-blue.svg");
}
footer {
  background-color: #002b5c; /* dark bg */
}
footer .footer-brand img {
  filter: brightness(0) invert(1); /* make blue logo appear white */
}


/* === Two-column hero cards: Program left, stack right === */
.home-cards.two-col {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: clamp(14px, 2.2vw, 24px);
  align-items: start;
}
.right-stack {
  display: grid;
  gap: clamp(12px, 2vw, 16px);
}
@media (max-width: 980px) {
  .home-cards.two-col { grid-template-columns: 1fr; }
}

/* Time alignment: one fixed column, no wrap for the time */
.card.program-wide .list li {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: .6rem;
  align-items: baseline;
}
.card.program-wide .list li strong {
  display: inline-block;
  width: 170px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .card.program-wide .list li { grid-template-columns: 130px 1fr; }
  .card.program-wide .list li strong { width: 130px; }
}

/* Single-asset logo: default header normal, footer inverted to appear white */
.site-footer .brand-logo,
footer .brand-logo,
footer .site-logo img,
footer img.brand-logo {
  
}


/* === Two-column layout via CSS only (no HTML restructuring) === */
.container.grid:has(#sabbath-program-card) {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: clamp(14px, 2.2vw, 24px);
  align-items: start;
}
.container.grid:has(#sabbath-program-card) > .card:nth-of-type(1) {
  grid-column: 1 / span 2;
  grid-row: 1; /* Program tall on the left */
}
.container.grid:has(#sabbath-program-card) > .card:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2;
}
.container.grid:has(#sabbath-program-card) > .card:nth-of-type(3) {
  grid-column: 2;
  grid-row: 2;
}
@media (max-width: 980px) {
  .container.grid:has(#sabbath-program-card) {
    grid-template-columns: 1fr !important;
  }
  /* .container.grid:has(#sabbath-program-card) > .card:nth-of-type(1),
  .container.grid:has(#sabbath-program-card) > .card:nth-of-type(2),
  .container.grid:has(#sabbath-program-card) > .card:nth-of-type(3) {
    grid-column: auto / 2; grid-row: auto;
  } */
}

/* Time column: keep on one line, uniform width */
#sabbath-program-card .list li {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: .6rem;
  align-items: baseline;
}
#sabbath-program-card .list li strong {
  width: 170px;
  display: inline-block;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
@media (max-width: 720px) {
  #sabbath-program-card .list li { grid-template-columns: 130px 1fr; }
  #sabbath-program-card .list li strong { width: 130px; }
}

/* Single logo asset: invert in footer to appear white */
.site-footer .brand-logo,
footer .brand-logo,
footer .site-logo img,
footer img.brand-logo {
  
}


/* === Adjust widths: Program slightly smaller, Mission/Visit a bit wider === */
.container.grid:has(#sabbath-program-card) {
  grid-template-columns: 1.6fr 1.4fr !important;
}

/* Verse wraps nicely and is slightly smaller to reduce visual height */
#sabbath-program-card .muted.italic {
  font-size: .98rem;
  line-height: 1.5;
  white-space: normal;
}

/* Time column slightly narrower; keep one-line; align consistently */
#sabbath-program-card .list li {
  grid-template-columns: 150px 1fr;
}
#sabbath-program-card .list li strong {
  width: 150px;
  white-space: nowrap;
}
@media (max-width: 720px) {
  #sabbath-program-card .list li { grid-template-columns: 120px 1fr; }
  #sabbath-program-card .list li strong { width: 120px; }
}

/* Live Stream Section */
.section.live {
  padding: clamp(1.25rem, 3vw, 2.5rem) 0;
  background: var(--surface, #fff);
}
.live .container {
  max-width: 1100px;
  margin: 0 auto;
}
.live .live-card {
  background: #f9fafb;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  padding: clamp(1rem, 2.5vw, 1.5rem);
}
.live-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .75rem;
  margin-bottom: .75rem;
}
.live-header h2 {
  margin: 0;
  font-size: clamp(1.25rem, 2.6vw, 1.6rem);
}
.pill {
  display: inline-block;
  padding: .2rem .5rem;
  font-size: .85rem;
  border-radius: 999px;
  background: #e8eefc;
  color: #1f4cf3;
  white-space: nowrap;
}
.live-player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
}
.live-player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.live-actions {
  margin-top: .75rem;
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem .9rem;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  text-decoration: none;
}
.btn.primary {
  background: #1f4cf3;
  color: #fff;
  border-color: #1f4cf3;
}

/* Footer uses same single logo asset but appears white */
.site-footer .brand-logo,
footer .brand-logo,
footer .site-logo img,
footer img.brand-logo {
  
}


/* === Brand logo sizing (header) === */
.brand-logo {
  height: clamp(36px, 5vw, 48px);
  width: auto;
  vertical-align: middle;
}
/* Footer inversion remains handled elsewhere */


/* === Visibility fix for buttons (ensure contrast) === */
button, .button, .btn, .cta, a.button, a.btn {
  color: #111 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.18) !important;
}
button:hover, .button:hover, .btn:hover, .cta:hover, a.button:hover, a.btn:hover {
  border-color: rgba(0,0,0,.33) !important;
}
.btn.primary, .button.primary, .cta-primary, .btn--primary {
  background: #1f4cf3 !important;
  border-color: #1f4cf3 !important;
  color: #fff !important;
}
/* If there are "inverse" buttons on dark backgrounds */
.btn.inverse, .button.inverse, .cta-inverse {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.55) !important;
}


/* === Promo: Join the Sabbath Live Stream === */
.promo-live { background: none; padding-top: clamp(1.2rem, 3vw, 2.2rem); padding-bottom: clamp(1.2rem, 3vw, 2.2rem); }
.promo-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1rem;
}
.promo-card {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: clamp(16px, 2.2vw, 24px);
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0,0,0,.15);
  padding: clamp(14px, 2vw, 18px);
}
.promo-media {
  position: relative;
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.promo-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.play-badge {
  position: absolute;
  right: .6rem;
  bottom: .6rem;
  font-size: 1.1rem;
  line-height: 1;
  background: rgba(0,0,0,.8);
  color: #fff;
  padding: .35rem .55rem;
  border-radius: 999px;
}
.promo-body h2 {
  margin: .1rem 0 .25rem;
  font-size: clamp(1.35rem, 2.6vw, 1.75rem);
}
.promo-body .sub {
  margin: 0 0 .75rem;
  color: rgba(0,0,0,.7);
}
.promo-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

@media (max-width: 860px) {
  .promo-card {
    grid-template-columns: 1fr;
  }
}
/* === End Promo === */


/* Ensure footer brand logo appears white while keeping a single asset */


.site-footer .copyright { margin: 0; opacity: .9; }


/* === Promo card improvements === */
.promo-live::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45); /* darker overlay */
  pointer-events: none;
}
.promo-card.is-clickable { position: relative; }
.promo-card .promo-cover {
  position: absolute;
  inset: 0;
  z-index: 1;
}
/* Keep content and buttons above the overlay so they remain clickable */
.promo-card .promo-media,
.promo-card .promo-body,
.promo-card .promo-actions {
  position: relative;
  z-index: 2;
}
/* === End promo improvements === */


/* Bold menu text as requested */
header .primary a { font-weight: 700; }


/* Ministries section styling */
.eyebrow { letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; opacity: .7; margin-bottom: .25rem; }
.h1 { font-size: clamp(1.4rem, 2.8vw, 2rem); line-height: 1.2; margin: 0 0 .5rem; }
.ministry-grid { 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); 
  gap: clamp(14px, 2.2vw, 24px);
  align-items: start;
}
.min-card { 
  background: #fff; 
  border: 1px solid rgba(0,0,0,.06); 
  border-radius: 12px; 
  padding: 1rem; 
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}
.min-icon { 
  width: 36px; height: 36px; display: grid; place-items: center; 
  border: 1px solid rgba(0,0,0,.15); border-radius: 8px; margin-bottom: .5rem; font-size: 18px;
}
.min-card h3 { margin: .25rem 0 .25rem; font-size: 1.05rem; }
.min-card p { margin: 0; color: rgba(0,0,0,.7); }

.promo-live::before { content: none !important; background: none !important; }


/* Footer logo centered and normal text weight */





/* Footer columns help */



@media (max-width: 800px) {
  
  
  
}


/* === After-Promo Showcase (single image) === */
.showcase-after-promo .showcase-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}
.showcase-after-promo .showcase-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
  overflow: hidden;
}
.showcase-after-promo .showcase-card img {
  display: block;
  width: 100%;
  height: auto;
}
/* === End Showcase === */

/* === Coded Showcase (after promo) === */
.showcase-coded .coded-wrap{max-width:1200px;margin:0 auto;padding:0 1rem;}
.showcase-coded .coded-card{
  position:relative;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(18px,2.5vw,28px);
  background: linear-gradient(140deg,#0f172a 0%,#0b1531 60%, #0b1531 100%);
  border-radius:20px;
  padding:clamp(16px,2.6vw,24px);
  box-shadow:0 22px 55px rgba(0,0,0,.35);
  overflow:hidden;
  color:#fff;
}
.coded-left{position:relative; z-index:2;}
.coded-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;}
.coded-mini-logo{height:40px;width:auto;filter:brightness(1000%);}
.coded-pill{width:160px;height:16px;border-radius:999px;background:#facc15;margin:.35rem 0 1rem;}
.coded-title{margin:0 0 .75rem;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.05;letter-spacing:.02em;}
.coded-title strong{color:#ffd335;letter-spacing:.01em;}
.coded-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;}
.coded-actions .btn{padding:.65rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.2);}
.coded-actions .btn.primary{background:#1f4cf3;border-color:#1f4cf3;color:#fff;}
.coded-social{display:flex;align-items:center;gap:.45rem;}
.coded-social .ico{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06); color:#fff; text-decoration:none;}
.coded-social .ico svg{fill:currentColor;}

.coded-right{position:relative;min-height:260px;}
.ellipse{
  position:absolute; right:18px; top:10px;
  width:min(420px,38vw); height:min(300px,28vw);
  border:6px solid #ffd335; border-radius:900px;
  transform:rotate(-12deg);
  background: radial-gradient(120% 100% at 70% 50%, rgba(255,255,255,.06) 0%, rgba(255,255,255,.015) 60%, transparent 100%);
}
.pebble{position:absolute;background:#ffd335;border-radius:22px;height:22px;width:72px;transform:rotate(-12deg);}
.pebble-1{right:calc(18px + 60px); top:calc(10px + 18px);}
.pebble-2{right:30px; bottom:16px; width:86px; height:26px;}

@media (max-width: 900px){
  .showcase-coded .coded-card{grid-template-columns:1fr;}
  .coded-right{min-height:200px;}
  .ellipse{position:relative;margin:20px auto 0;right:auto;transform:rotate(-8deg);}
}
/* === End Coded Showcase === */


/* Force footer logo to render white PNG with no tint */
.site-footer img,
.site-footer .brand-logo,
footer img {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

/* === After-Promo Live Hero (coded) === */
.live-hero {
  background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0) 40%);
  padding-top: clamp(1.2rem, 3vw, 2.2rem);
  padding-bottom: clamp(1.2rem, 3vw, 2.2rem);
}
.live-hero-wrap { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.live-hero-card {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: clamp(18px, 2.4vw, 26px);
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
  padding: clamp(16px, 2.2vw, 20px);
}
.live-hero-media {
  border-radius: 12px;
  overflow: hidden;
}
.live-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.live-hero-body h2 { margin: .1rem 0 .35rem; font-size: clamp(1.5rem, 2.8vw, 2rem); }
.live-hero-body .sub { margin: 0 0 .9rem; color: rgba(0,0,0,.65); }
.live-hero .actions { display: flex; gap: .6rem; flex-wrap: wrap; }
@media (max-width: 900px) {
  .live-hero-card { grid-template-columns: 1fr; }
}
/* === End After-Promo Live Hero === */


/* === Footer: full-width + compact height === */
.site-footer {
  width: 100%;
  margin: 0;
  padding-top: 14px;
  padding-bottom: 14px;
}
.site-footer .container, 
.site-footer .footer-inner {
  max-width: 1200px; /* content stays tidy */
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* keep the white PNG untinted */
.site-footer img, .site-footer .brand-logo { filter: none !important; mix-blend-mode: normal !important; opacity: 1 !important; }
/* === end footer tweaks === */


/* === Footer: full-width + compact + copyright separators === */
.site-footer {
  width: 100% !important;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}
.site-footer .container,
.site-footer .footer-inner {
  max-width: none !important;
  width: 100% !important;
  padding-left: clamp(12px, 3vw, 24px);
  padding-right: clamp(12px, 3vw, 24px);
}

.site-footer .copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 6px 0 0;
  font-size: 0.9rem;
}

/* keep logo pure white PNG (no filters) */
.site-footer img, .site-footer .brand-logo { filter: none !important; mix-blend-mode: normal !important; opacity: 1 !important; }
/* === end footer overrides === */



/* Remove any leftover separators created earlier */
.site-footer .copyright::before,
.site-footer .copyright::after {
  content: none !important;
  display: none !important;
}


/* Full-bleed footer: stretch to viewport edges */
.site-footer {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0;
  padding-right: 0;
}
/* Ensure any inner "container" isn't constraining width */
.site-footer .container,
.site-footer .footer-inner,
.site-footer [class*="container"] {
  max-width: none !important;
  width: 100% !important;
  padding-left: clamp(14px, 3vw, 28px);
  padding-right: clamp(14px, 3vw, 28px);
}


/* === Footer spacing + centered inner width === */
.site-footer {
  padding-top: 6px !important;   /* reduce space above */
  padding-bottom: 10px !important;
}
/* Center the inner content and keep it narrower while footer background is full-bleed */
.site-footer .footer-inner,
.site-footer .container,
.site-footer [class*="container"] {
  max-width: 1100px !important;   /* reduce inner content width */
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(12px, 2.5vw, 24px) !important;
  padding-right: clamp(12px, 2.5vw, 24px) !important;
  box-sizing: border-box;
}
/* Tighten paragraph spacing in footer (including copyright) */
.site-footer .footer-inner p,
.site-footer p.copyright {
  margin-top: 2px !important;   /* reduce space above copyright line */
  margin-bottom: 0 !important;
  line-height: 1.25;
  text-align: center;           /* center copyright neatly */
}

/* === Footer: center only the Quick Links column content === */
.site-footer .links { 
  text-align: center !important;   /* center the block inside its column */
}
.site-footer .links ul {
  display: inline-block;           /* keep vertical list but center the group */
  text-align: left;                /* keep list items left-aligned within */
  margin: 0 auto;
}
.site-footer .links h4, 
.site-footer .links .title {
  text-align: center;
}
/* === End Quick Links centering === */

/* === Footer alignment tweaks (content-only) === */
/* Center the column that contains "Visit Us" */
.site-footer .footer-columns > div:has(h4:where(:is(:not(:empty))) , h3):has(h4:matches-css(:contains("Visit Us"))) { text-align: center; }
/* Fallback simple heuristic: center any column with a heading "Visit Us" */
.site-footer .footer-columns h4:where(:not(:empty)):where(:is(:has-text("Visit Us"))) { text-align: center; }
.site-footer .footer-columns h4:where(:not(:empty)):where(:is(:has-text("Visit Us"))) + ul { 
  display: inline-block; text-align: left; margin: 0 auto;
}

/* Shift "Quick Links" to the right by ~2.5cm on desktop */
@media (min-width: 900px) {
  .site-footer .footer-columns h4:where(:not(:empty)):where(:is(:has-text("Quick Links"))) { text-align: center; }
  .site-footer .footer-columns h4:where(:not(:empty)):where(:is(:has-text("Quick Links")))::before { content: ""; display: block; }
  .site-footer .footer-columns h4:where(:not(:empty)):where(:is(:has-text("Quick Links"))) + ul {
    position: relative; left: 2.5cm;
  }
}
/* === End footer content tweaks === */

/* Fallback: if your markup has classes, you can uncomment and adjust these:
.site-footer .visit { text-align: center; }
.site-footer .links ul { position: relative; left: 2.5cm; }
*/


/* Footer column content alignment (class-based) */
.site-footer .visit { text-align: center; }
@media (min-width: 900px) {
  .site-footer .links ul { position: relative; left: 2.5cm; }
}


/* === Remove faint line above copyright (hard override) === */
.site-footer .copyright::before,
.site-footer .copyright::after { content: none !important; display: none !important; }
.site-footer .copyright { border-top: none !important; box-shadow: none !important; }
.site-footer, .site-footer .footer-inner { border-top: none !important; box-shadow: none !important; }
.site-footer hr, .site-footer .separator, .site-footer .sep, .site-footer .line { display: none !important; height: 0 !important; margin: 0 !important; }
/* === End override === */


/* === Bring back exactly one faint line above the copyright === */
.site-footer p.copyright::before {
  content: "" !important;        /* override earlier removal */
  display: block !important;
  height: 1px !important;
  background: currentColor !important;
  opacity: 0.25 !important;      /* faint line */
  margin: 6px 0 6px !important;  /* small spacing above and below the line */
}
/* Ensure no second line appears */
.site-footer p.copyright::after { content: none !important; display: none !important; }



/* === Force a single faint line above copyright (using border) === */
.site-footer .footer-inner .copyright,
.site-footer .copyright {
  border-top: 1px solid rgba(255,255,255,0.28) !important; /* faint line */
  padding-top: 6px !important;   /* small spacing above text */
  margin-top: 4px !important;
}
/* remove any ::before/::after remnants to avoid double-lines */
.site-footer .copyright::before,
.site-footer .copyright::after { content: none !important; display: none !important; }



/* ===== Footer — Professional polish (non-destructive) ===== */

/* Full-bleed footer retained; center inner content neatly */
.site-footer {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
.site-footer .footer-inner,
.site-footer .container,
.site-footer [class*="container"] {
  max-width: 1120px !important;  /* balanced inner width */
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(14px, 2.5vw, 24px) !important;
  padding-right: clamp(14px, 2.5vw, 24px) !important;
  box-sizing: border-box;
}

/* Column spacing & vertical rhythm */
.site-footer .footer-columns {
  display: grid;
  grid-auto-flow: row dense;
  gap: 14px 18px;
}
.site-footer .footer-columns > * + * { margin-top: 0; }

/* Headings & text clarity */
.site-footer h4,
.site-footer h3,
.site-footer .title {
  margin: 0 0 .35rem;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: .01em;
}
.site-footer p,
.site-footer li,
.site-footer a {
  line-height: 1.45;
}
.site-footer a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.site-footer a:hover,
.site-footer a:focus {
  border-bottom-color: currentColor;
  outline: none;
}

/* Lists */
.site-footer ul { margin: 0; padding-left: 0; list-style: none; }
.site-footer li + li { margin-top: .25rem; }

/* Newsletter: clearer input & button pairing */
.site-footer form input[type="email"],
.site-footer form input[type="text"],
.site-footer input[type="email"],
.site-footer .newsletter input,
.site-footer .newsletter .input,
.site-footer .newsletter input[type="email"] {
  width: 100%;
  padding: .6rem .75rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.06);
  color: #fff;
  box-sizing: border-box;
}
.site-footer form ::placeholder { color: rgba(255,255,255,.7); }
.site-footer .newsletter-actions,
.site-footer form .actions {
  display: flex;
  gap: .5rem;
  margin-top: .45rem;
  flex-wrap: wrap;
}
.site-footer .newsletter-actions .btn,
.site-footer form button,
.site-footer form .btn {
  padding: .55rem .9rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.25);
  background: #1f4cf3;
  color: #fff;
}

/* Copyright faint line (single) */
.site-footer .copyright {
  border-top: 1px solid rgba(255,255,255,0.28) !important;
  padding-top: 6px !important;
  margin-top: 6px !important;
  text-align: center;
}

/* Responsive niceties */
@media (max-width: 900px) {
  .site-footer .footer-columns { gap: 12px 14px; }
  .site-footer .newsletter-actions,
  .site-footer form .actions { flex-direction: column; align-items: stretch; }
}

/* Keep white footer logo pristine */
.site-footer img, .site-footer .brand-logo {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}
/* ===== End footer polish ===== */



/* ===== Footer refinement: fonts, spacing, Quick Links alignment ===== */

/* Text sizes & weights (small, not bold) */
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6 {
  font-size: 1rem !important;
  font-weight: 400 !important;   /* not bold */
  margin: 0 0 .4rem !important;
  line-height: 1.25 !important;
}
.site-footer p, .site-footer li, .site-footer a, .site-footer address, .site-footer span {
  font-size: .92rem !important;
  font-weight: 400 !important;   /* not bold */
  line-height: 1.45 !important;
}

/* Quick Links: center the block; keep list left-aligned */
.site-footer .links { text-align: center !important; }
.site-footer .links ul {
  position: static !important;     /* cancel any previous 2.5cm shift */
  left: 0 !important;
  display: inline-block !important;
  text-align: left !important;
  margin: 0 auto !important;
}

/* Newsletter spacing: add breathing room above the heading */
.site-footer .footer-note { 
  margin-bottom: 10px !important; 
  font-size: .92rem !important; 
  line-height: 1.5 !important;
}
.site-footer .footer-note + h1,
.site-footer .footer-note + h2,
.site-footer .footer-note + h3,
.site-footer .footer-note + h4,
.site-footer .footer-note + h5,
.site-footer .footer-note + h6 {
  margin-top: 10px !important;
}

/* Trim extra vertical gaps in columns while keeping clarity */
.site-footer .footer-columns { gap: 10px 16px !important; }
.site-footer .footer-columns > * + * { margin-top: 0 !important; }

/* Keep logo size as provided (no forced shrinking) */
.site-footer img.brand-logo { height: auto !important; }



/* === Footer fine-tuning: spacing & left alignment === */

/* Align footer columns to the top consistently */
.site-footer .footer-columns { align-items: start !important; }

/* Drop "Visit Us" and "Quick Links" slightly to clear the logo row */
@media (min-width: 901px) {
  .site-footer .visit,
  .site-footer .links {
    margin-top: 12px !important;
  }
}
@media (max-width: 900px) {
  .site-footer .visit,
  .site-footer .links {
    margin-top: 8px !important;
  }
}

/* Left-align those columns cleanly */
.site-footer .visit,
.site-footer .links { text-align: left !important; }

/* Lists: clear, compact spacing */
.site-footer .visit ul,
.site-footer .links ul {
  display: block !important;      /* undo any previous centering */
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}
.site-footer .visit li + li,
.site-footer .links li + li { margin-top: 3px !important; }

/* Optional: ensure headings have a small gap below */
.site-footer .visit h3, .site-footer .visit h4,
.site-footer .links h3, .site-footer .links h4 {
  margin-bottom: 6px !important;
}



/* === Footer requests: alignment & spacing === */
/* Sentence above newsletter: left align and add 1.7cm gap before the newsletter heading */
.site-footer .footer-note {
  text-align: left !important;
  margin-bottom: 1.7cm !important;  /* create 1.7cm space before newsletter heading */
  line-height: 1.5 !important;
}

/* Ensure the newsletter heading isn't cramped; also left align for consistency */
.site-footer .footer-note + h1,
.site-footer .footer-note + h2,
.site-footer .footer-note + h3,
.site-footer .footer-note + h4,
.site-footer .footer-note + h5,
.site-footer .footer-note + h6 {
  margin-top: 0 !important;
  text-align: left !important;
}

/* Quick Links: heading moves together with list; no separate offsets */
.site-footer .links { 
  text-align: left !important;
  position: static !important;
  display: block !important;
}
.site-footer .links h1, .site-footer .links h2, .site-footer .links h3, .site-footer .links h4 { 
  text-align: left !important;
}
.site-footer .links ul {
  position: static !important;   /* cancel any previous left-shift */
  left: auto !important;
  display: block !important;
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

/* Tidy list spacing */
.site-footer .links li + li { margin-top: 4px !important; }
.site-footer .visit li + li { margin-top: 4px !important; }



/* === Footer headings: bold + bigger === */
.site-footer .footer-columns h1,
.site-footer .footer-columns h2,
.site-footer .footer-columns h3,
.site-footer .footer-columns h4,
.site-footer .footer-columns h5,
.site-footer .footer-columns h6,
.site-footer .newsletter h1,
.site-footer .newsletter h2,
.site-footer .newsletter h3,
.site-footer .newsletter h4,
.site-footer .newsletter h5,
.site-footer .newsletter h6,
.site-footer .title {
  font-weight: 700 !important;         /* bold */
  font-size: 1.15rem !important;       /* bigger, but still tidy */
  line-height: 1.3 !important;
  margin: 0 0 .45rem !important;
  text-align: left !important;         /* keep headings left for clarity */
}

@media (max-width: 900px){
  .site-footer .footer-columns h1,
  .site-footer .footer-columns h2,
  .site-footer .footer-columns h3,
  .site-footer .footer-columns h4,
  .site-footer .footer-columns h5,
  .site-footer .footer-columns h6,
  .site-footer .newsletter h1,
  .site-footer .newsletter h2,
  .site-footer .newsletter h3,
  .site-footer .newsletter h4,
  .site-footer .newsletter h5,
  .site-footer .newsletter h6,
  .site-footer .title {
    font-size: 1.06rem !important;     /* slightly smaller on mobile */
  }
}



/* === Footer spacing overrides (per request) === */
/* Drop "We are located at" and "Quick Links" columns by 1.5cm */
.site-footer .visit,
.site-footer .links {
  margin-top: 1.5cm !important;
}

/* Leave 1.5cm space above the Newsletter section */
.site-footer .newsletter {
  margin-top: 1.5cm !important;
}

/* If a note paragraph exists above the newsletter, keep it at the same 1.5cm spacing overall */
.site-footer .footer-note {
  margin-bottom: 1.5cm !important;
}

/* Ensure Quick Links list moves together with its heading (no independent offsets) */
.site-footer .links ul {
  position: static !important;
  left: auto !important;
}
/* === End overrides === */




/* === Footer adjustments per client request (2025-08-24) === */

/* 1) "WE ARE LOCATED AT" in caps & centered */
.site-footer .visit h4 {
  text-transform: uppercase !important;
  text-align: center !important;
}

/* 2) Reduce space between logo and "WE ARE LOCATED AT" to 1cm */
.site-footer .footer-brand { 
  margin-bottom: 1cm !important; 
}
/* Remove extra top margin from the first column so total spacing is ~1cm */
.site-footer .footer-columns .visit {
  margin-top: 0 !important;
}

/* 3) Move Quick Links to the right by 2.5cm */
.site-footer .links ul {
  margin-left: 2.5cm !important;
}

/* 4) Reduce space between "Join Our Newsletter" and the email field to 0.5cm */
.site-footer .newsletter form,
.site-footer .newsletter .form {
  display: block;
}
.site-footer .newsletter form input[type="email"],
.site-footer .newsletter .form input[type="email"] {
  margin-top: 0.5cm !important;
}

/* 5) The space between "Join Our Newsletter" and "WE ARE AT FREEDOM PARK SDA" should be 2.5cm
      (on stacked/mobile layout). We'll add a top margin to the newsletter block. */
.site-footer .newsletter {
  margin-top: 2.5cm !important;
}

/* 6) Remove bold on ©2025 text and trim whitespace below */
.site-footer p.copyright {
  font-weight: 400 !important;    /* normal */
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.site-footer {
  padding-bottom: 4px !important; /* minimal bottom whitespace */
}
/* === End Footer adjustments === */



/* === Footer refinements from screenshot instructions === */

/* 1) Reduce gap between logo and "WE ARE LOCATED AT" */
.site-footer .footer-brand {
  margin-bottom: 0.5cm !important;  /* tighter than before */
}

/* 2) Quick Links adjustments */
.site-footer .links h4 {
  text-transform: uppercase !important;
}
.site-footer .links ul {
  margin-left: 2.5cm !important;
}

/* 3) Newsletter spacing: reduce gap between heading and input to 0.5cm */
.site-footer h4 + form.newsletter,
.site-footer h4 + .newsletter {
  margin-top: 0.5cm !important;
}

/* 4) Remove bottom gap under copyright */
.site-footer {
  padding-bottom: 0 !important;
}
.site-footer p.copyright {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}



/* === Footer adjustments round 2 (per annotated screenshot) === */

/* Align newsletter column higher (reduce big top gap) */
.site-footer .newsletter {
  margin-top: 0 !important;       /* pull up to align with logo top */
}

/* If there is any descriptive paragraph above the newsletter heading, hide it */
.site-footer .newsletter > p:first-of-type {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* "Quick Links" in CAPS and moved right by full block */
.site-footer .links h4 {
  text-transform: uppercase !important;
}
.site-footer .links {
  margin-left: 2.5cm !important;  /* moves the whole block (title + list) */
}
/* remove the earlier UL-only shift to avoid double-offset */
.site-footer .links ul { 
  margin-left: 0 !important;
}

/* Reduce space under the brand/logo to better align with columns */
.site-footer .footer-brand { 
  margin-bottom: 1cm !important;
}

/* Tighten spacing between newsletter title and the email input to 0.5cm */
.site-footer .newsletter h4 + form input[type="email"],
.site-footer .newsletter h4 + .form input[type="email"] {
  margin-top: 0.5cm !important;
}

/* Remove extra gap above copyright bar / line */
.site-footer .footer-columns {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.site-footer .copyright {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}
/* Also ensure the overall footer has minimal bottom padding */
.site-footer { padding-bottom: 0 !important; }
.site-footer p.copyright { margin: 8px auto 0 !important; font-weight: 400 !important; }
/* === End adjustments === */



/* === Footer adjustments round 3 === */

/* Align all footer headings horizontally */
.site-footer .footer-columns h4 {
  display: inline-block;
  vertical-align: top;
  margin-top: 0 !important;
  margin-bottom: .5rem;
  font-weight: 700;
}

/* Ensure the horizontal divider appears below socials */
.site-footer .socials {
  margin-bottom: 12px !important;
  border-bottom: 1px solid rgba(255,255,255,.2);
  padding-bottom: 8px;
}
/* === End adjustments === */



/* === Footer adjustments round 4 === */
.site-footer .visit { text-align: center !important; }
.site-footer .visit h4 { text-align: center !important; }
/* Social icons spacing */
.site-footer .socials a i { margin-right: 6px; }
/* === End adjustments === */



/* === Footer adjustments round 5 === */

/* Footer note spacing */
.site-footer .footer-note {
  margin-bottom: 0.6cm !important;
}

/* Reduce gap between Join Our Newsletter and form */
.site-footer .newsletter h4 + form,
.site-footer .newsletter h4 + .form {
  margin-top: 0 !important;
}

/* Social icons in white */
.site-footer .socials a { 
  color: #fff !important; 
  font-weight: 400 !important;
}

/* Remove whitespace below footer */
.site-footer { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body { margin-bottom: 0 !important; }

/* Copyright style adjustments */
.site-footer p.copyright {
  font-weight: 400 !important; /* remove bold */
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  font-size: 0.95rem !important;
  letter-spacing: .2px;
  padding-top: .5cm !important; /* increase top padding */
}
/* === End adjustments === */



/* === Footer adjustments round 6 === */

/* Align all three footer columns on same baseline */
.site-footer .footer-columns {
  align-items: start !important;
  display: flex !important;
  justify-content: space-between !important;
}

/* Make each column neatly aligned from top */
.site-footer .footer-columns > div {
  flex: 1;
}

/* Ensure headings start aligned on one line */
.site-footer .footer-columns h4 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Adjust newsletter spacing so "Join Our Newsletter" hugs paragraph above */
.site-footer .footer-note {
  margin-bottom: 8px !important;
}
.site-footer .newsletter h4 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}
.site-footer .newsletter form {
  margin-top: 0 !important;
}

/* Adjust bottom gap of footer vs copyright */
.site-footer .footer-columns {
  margin-bottom: 12px !important;
}
.site-footer p.copyright {
  margin-top: 6px !important;
  padding-top: 0 !important;
  padding-bottom: 12px !important; /* increase gap from bottom */
}

/* Align left column rectangle items flush from same line */
.site-footer .visit {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-footer .visit * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center !important;
}
/* === End adjustments === */



/* === Footer adjustments round 7 === */

/* Align 3 columns horizontally with baseline */
.site-footer .footer-columns {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}

/* Column heading alignment */
.site-footer .footer-columns h4 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  text-align: center !important;
}

/* Push "WE ARE LOCATED AT" down to reduce gap below logo */
.site-footer .visit h4 {
  margin-top: 12px !important;
}

/* Newsletter spacing: remove extra gap after heading */
.site-footer .newsletter h4 {
  margin-bottom: 6px !important;
}
.site-footer .newsletter form {
  margin-top: 6px !important;
}

/* Footer note styling: justified, placed below socials with space */
.site-footer .footer-note {
  margin-top: 12px !important;
  text-align: justify !important;
  font-weight: 400 !important;
  line-height: 1.4;
  opacity: 0.9;
}

/* Faint divider line above footer-note */
.site-footer .socials {
  margin-bottom: 8px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,.2);
}

/* Align copyright spacing */
.site-footer p.copyright {
  margin-top: 8px !important;
  padding-top: 6px !important;
  padding-bottom: 12px !important;
  font-weight: 400 !important;
}
/* === End round 7 === */



/* === Footer adjustments round 7 === */

/* Vertical dividers between columns */
.site-footer .footer-columns {
  display: flex !important;
  gap: 24px !important;
}
.site-footer .footer-columns > div {
  flex: 1 1 0;
  padding: 0 16px;
}
.site-footer .footer-columns > div:not(:last-child) {
  border-right: 1px solid rgba(255,255,255,.15);
}

/* Justify the community paragraph (footer-note) and add space after it */
.site-footer .footer-note {
  text-align: justify !important;
  margin-top: 10px !important;   /* little space below socials/line */
  margin-bottom: 12px !important;
  color: #fff !important;
}

/* Make the faint line sit *above* the footer-note: we add it to socials */
.site-footer .socials {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,.2) !important;
}

/* Remove space after "Join Our Newsletter" and pull form up */
.site-footer .newsletter h4 { margin-bottom: 0 !important; }
.site-footer .newsletter h4 + form,
.site-footer .newsletter h4 + .form { margin-top: 0 !important; }

/* Push 'WE ARE LOCATED AT' block slightly down from logo */
.site-footer .visit { padding-top: 10px !important; }
.site-footer .visit h4 { margin-top: 6px !important; }

/* Keep headings aligned horizontally */
.site-footer .footer-columns h4 {
  margin-top: 0 !important;
  line-height: 1.15;
}

/* Keep icons white */
.site-footer .socials a { color: #fff !important; font-weight: 400 !important; }
/* === End round 7 === */



/* === Footer adjustments round 8 === */

/* Align all three section titles horizontally with the logo */
.site-footer .footer-columns {
  display: flex !important;
  align-items: flex-start !important;
}
.site-footer .footer-columns h4 {
  text-align: center !important;
  text-transform: uppercase !important;
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

/* Quick Links alignment with logo */
.site-footer .links {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-footer .links ul {
  margin-top: 4px !important;
  padding: 0;
  list-style: none;
  text-align: center;
}

/* Freedom Park logo and left column centered consistently */
.site-footer .visit {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* JOIN OUR BULLETIN heading alignment */
.site-footer .newsletter h4 {
  text-align: center !important;
  text-transform: uppercase !important;
}
/* === End round 8 === */



/* === Footer adjustments round 9 === */

/* Align Quick Links title with logo baseline */
.site-footer .links {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.site-footer .links h4 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  text-align: center !important;
}
.site-footer .links ul {
  margin: 0 auto !important;
  padding: 0;
  list-style: none;
  text-align: center !important;
}

/* Push address block below WE ARE LOCATED AT title */
.site-footer .visit h4 {
  margin-bottom: 16px !important;
}
.site-footer .visit p {
  margin-top: 10px !important;
}
/* Add more vertical space before address section */
.site-footer .visit {
  padding-top: 20px !important;
}
/* === End round 9 === */



/* === Footer adjustments round 10 === */

/* Align Quick Links horizontally with Freedom Park logo and JOIN OUR BULLETIN */
.site-footer .footer-columns {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}
.site-footer .links {
  display: block !important;
  text-align: center !important;
}
.site-footer .links h4 {
  text-align: center !important;
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}
.site-footer .links ul {
  margin: 0 auto !important;
  padding: 0;
  list-style: none;
  text-align: center !important;
}

/* Fix spacing for WE ARE LOCATED AT title */
.site-footer .visit {
  padding-top: 20px !important;  /* space above block */
}
.site-footer .visit h4 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;   /* remove extra gap below title */
  padding-bottom: 0 !important;
}
.site-footer .visit p {
  margin-top: 12px !important;   /* spacing before address starts */
}
/* === End round 10 === */



/* === Footer adjustments round 11 === */

/* Make all footer columns equal height */
.site-footer .footer-columns {
  display: flex !important;
  align-items: stretch !important;   /* stretch children to equal height */
}
.site-footer .footer-columns > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Ensure consistent bottom alignment */
.site-footer .footer-columns > div > *:last-child {
  margin-bottom: auto;
}
/* === End round 11 === */



/* === Footer adjustments round 12 === */

/* Force footer columns to align their headings horizontally */
.site-footer .footer-columns {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}

/* Create a consistent heading row baseline */
.site-footer .footer-columns h4 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
  min-height: 24px; /* ensures consistent baseline */
  display: flex;
  align-items: flex-end; /* bottom align text */
  justify-content: center;
}

/* Quick Links column forced to align */
.site-footer .links {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.site-footer .links ul {
  margin-top: 8px !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: center !important;
}

/* Equalize column heights */
.site-footer .footer-columns > div {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Prevent list or content from floating up */
.site-footer .footer-columns > div > * {
  margin-left: auto;
  margin-right: auto;
}
/* === End round 12 === */



/* === Footer adjustments round 13 (strict heading alignment) === */

/* Standardize logo height to compute offsets */
.site-footer .brand-logo {
  max-height: 60px !important;
  height: 60px !important;
  width: auto !important;
  display: block;
}

/* Create a consistent top offset so all headings (WE ARE LOCATED AT / QUICK LINKS / JOIN OUR BULLETIN)
   appear on the same horizontal line beneath the logo area */
:root {
  --footer-head-offset: 72px; /* 60px logo + ~12px spacing */
}

/* Remove any previous left shifts */
.site-footer .links { margin-left: 0 !important; }

/* Apply offset padding to center and right columns so their h4 aligns with left-column h4 (below logo) */
.site-footer .links,
.site-footer .newsletter {
  padding-top: var(--footer-head-offset) !important;
}

/* Ensure headings visually align and are centered */
.site-footer .footer-columns h4 {
  margin: 0 0 8px 0 !important;
  display: block;
  text-align: center !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

/* Keep Quick Links list centered under its heading */
.site-footer .links ul {
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: center !important;
}

/* Fine-tune the left column so space is above the title (not below) as requested */
.site-footer .visit { padding-top: 12px !important; }
.site-footer .visit h4 { margin-top: 6px !important; margin-bottom: 0 !important; }
.site-footer .visit p { margin-top: 12px !important; }

/* Maintain equal heights and clean bottom */
.site-footer .footer-columns {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
.site-footer .footer-columns > div {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* === End round 13 === */



/* === Footer adjustments round 15 === */

/* Remove bold from footer titles */
.site-footer .footer-row.footer-headings h4 {
  font-weight: 400 !important;
}

/* Tighten Quick Links spacing */
.site-footer .mid-head h4 {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}
.site-footer .quick-list {
  margin-top: 0 !important;
}

/* Tighten Join Our Bulletin spacing */
.site-footer .right-head h4 {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}
.site-footer .newsletter-form {
  margin-top: 0 !important;
}

/* Ensure horizontal alignment maintained */
.site-footer .footer-row.footer-headings {
  align-items: flex-end !important;
}
/* === End round 15 === */


/* === Align Quick Links with Logo === */
.site-footer .links h4 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* === Dropdown fixes (global) === */
header.site{position:relative;z-index:2000}
.container.header-inner{overflow:visible!important}

nav.primary{position:relative}
nav.primary .dropdown{position:relative}
nav.primary .dropdown > a{cursor:pointer}

nav.primary .dropdown-content{
  position:absolute;top:100%;left:0;display:none;min-width:220px;
  background:#ffffff;color:#0B1935;border-radius:10px;padding:8px 0;
  box-shadow:0 12px 32px rgba(0,0,0,.14);z-index:3000
}
nav.primary .dropdown-content a{display:block;padding:10px 14px;white-space:nowrap;color:inherit}
nav.primary .dropdown.open > .dropdown-content{display:block}

@media (hover:hover){
  nav.primary .dropdown:hover > .dropdown-content{display:block}
}

@media (max-width:900px){
  nav.primary .dropdown-content{
    position:static;display:none;box-shadow:none;background:transparent;padding:0
  }
  nav.primary .dropdown.open>.dropdown-content{display:block}
  nav.primary .dropdown-content a{padding:10px 0}
}
/* === End dropdown fixes === */

/* === Content coming soon container === */
.content-container {
	padding: 2cm;
	margin-bottom: 1cm;
}


/* === Page Hero Bar (Adventist Blue) === */
.hero-bar{background:#1B365D;color:#fff}
.hero-bar .container{padding:36px 16px}
.hero-bar h1{margin:0;font-weight:800;line-height:1.2;font-size:2rem;position:relative;padding-left:16px}
.hero-bar h1::before{content:"";position:absolute;left:0;top:0.2em;bottom:0.2em;width:2px;background:rgba(255,255,255,.7)}
.hero-bar p{margin:10px 0 0 16px;opacity:.95}
@media (min-width: 900px){
  .hero-bar .container{padding:48px 20px}
  .hero-bar h1{font-size:2.25rem}
}
/* === End Page Hero Bar === */


/* Ministry card logos */
.ministry-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ministry-logo{width:44px;height:44px;display:inline-block}
@media (min-width:900px){ .ministry-logo{width:52px;height:52px} }
