/* =====================================================================
   CSI Garrison Wesley Church — theme overrides on top of custom.css
   Keeps the template's warm accent (#FE6035) but switches the header
   to a white "letterhead" style built around the church banner.
   ===================================================================== */

:root{
	--church-ink: #1b1b1b;
}

/* ---------- Top banner band (letterhead) ---------- */
.church-topbar{
	background: #ffffff;
	text-align: center;
	padding: 14px 0 10px;
	border-bottom: 1px solid #ececec;
}
.church-topbar-logo{ display: inline-block; }
.church-topbar-logo img{
	max-height: 96px;
	width: auto;
	max-width: 100%;
}

/* ---------- Header: solid white, dark text (no hero overlap) ---------- */
header.main-header.church-header{
	position: relative;
	background: #ffffff;
	border-bottom: 1px solid #ececec;
	box-shadow: 0 2px 14px rgba(0,0,0,.05);
}
.church-header .navbar{ padding: 10px 0; }

/* Cancel the template's negative-margin overlap so sections sit below the bar */
.hero{ margin-top: 0 !important; }
.page-header{ margin-top: 0 !important; }

/* Compact logo in the nav row: hidden at every screen size while the banner above is visible,
   revealed only when the bar becomes sticky and the banner has scrolled away. */
.church-header .navbar-brand img{ height: 46px; width: auto; }
.church-header .header-sticky:not(.active) .navbar-brand{ display: none; }
.church-header .navbar-brand .brand-banner{ display: none; }

/* Hamburger layouts (phones, tablets, small laptops): one header row —
   church banner on the left, menu button on the right. The separate banner band is hidden. */
@media (max-width: 1365px){
	.church-topbar{ display: none; }
	.church-header .navbar{ padding: 12px 0; }
	.church-header .navbar > .container{ justify-content: space-between; align-items: center; flex-wrap: nowrap; }
	.church-header .header-sticky .navbar-brand,
	.church-header .header-sticky:not(.active) .navbar-brand{ display: flex; align-items: center; min-width: 0; flex: 1 1 auto; margin-right: 14px; }
	.church-header .navbar-brand .brand-compact{ display: none; }
	.church-header .navbar-brand .brand-banner{ display: block; height: auto; width: auto; max-width: 100%; max-height: 64px; }
	.church-header .navbar-toggle{ flex: 0 0 auto; }
}
@media (max-width: 575px){
	.church-header .navbar-brand .brand-banner{ max-height: 50px; }
}

/* Nav links -> dark ink on white, accent on hover/active */
.church-header .main-menu ul li a{
	color: var(--church-ink) !important;
}
.church-header .main-menu ul li a:hover,
.church-header .main-menu ul li a:focus,
.church-header .main-menu ul li .nav-link.active{
	color: var(--accent-color) !important;
}
/* Dropdown menus sit on the orange accent background -> white text, darker highlight on hover */
.church-header .main-menu ul ul{ overflow: hidden; }
.church-header .main-menu ul ul li a{ color: #fff !important; }
.church-header .main-menu ul ul li a:hover,
.church-header .main-menu ul ul li a:focus{ color: #fff !important; background-color: rgba(0,0,0,.14) !important; }

/* Sticky (scrolled) state -> stay white with a shadow, show compact logo */
.church-header .header-sticky.active{
	background: #ffffff !important;
	box-shadow: 0 4px 18px rgba(0,0,0,.08);
	border-bottom: 1px solid #ececec;
}
.church-header .header-sticky.active .navbar-brand{ display: inline-block; }

/* Hamburger button: white lines on the orange button (theme default) */
.church-header .slicknav_icon .slicknav_icon-bar{ background-color: #fff !important; }

/* ---------- Footer branding ---------- */
.church-footer-logo{
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
}
.church-footer-logo img{ height: 58px; width: auto; }
.church-footer-wordmark{ display: flex; flex-direction: column; line-height: 1.15; }
.church-footer-wordmark .fw-name{
	color: #fff; font-size: 22px; font-weight: 700; text-transform: capitalize;
}
.church-footer-wordmark .fw-diocese{ color: #c9c9c9; font-size: 13px; }
.church-footer .footer-info-box-content a{ color: inherit; }
.church-footer .footer-info-box-content a:hover{ color: var(--accent-color); }

/* ---------- Active main-menu highlight (from the dynamic header) ---------- */
header.main-header .navbar .navbar-nav .nav-link.active{ color: var(--accent-color); }

/* ---------- Small helpers used in church content ---------- */
.needs-confirm{
	display:inline-block; font-size:11px; font-weight:600; letter-spacing:.03em;
	text-transform:uppercase; color:#8a6d3b; background:#fcf3dd;
	border:1px solid #efe0b8; padding:2px 8px; border-radius:20px; vertical-align:middle;
}
.church-note{
	background:#fff7ef; border:1px solid #ffd9c2; border-radius:14px;
	padding:16px 20px; color:#7a4a2d; font-size:15px; margin-top:20px;
}

/* ---------- Donation / Sqft Seva campaign ---------- */
.seva-hero .give-progress{ margin-top: 26px; }
.give-stats{ display:flex; flex-wrap:wrap; gap:18px; margin:26px 0; }
.give-stat{
	flex:1 1 150px; background:#fff; border:1px solid #eee; border-radius:16px;
	padding:20px; text-align:center; box-shadow:0 6px 20px rgba(0,0,0,.04);
}
.give-stat .num{ font-size:30px; font-weight:800; color:var(--accent-color); line-height:1; }
.give-stat .lbl{ font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:#777; margin-top:8px; }
.give-barwrap{ background:#f0ede9; border-radius:30px; height:16px; overflow:hidden; }
.give-bar{ height:100%; background:linear-gradient(90deg,#FE6035,#ff8a5f); border-radius:30px; }
.give-barmeta{ display:flex; justify-content:space-between; font-size:14px; font-weight:600; margin-top:10px; color:#444; }

.seva-form{ background:#fff; border:1px solid #eee; border-radius:22px; padding:32px; box-shadow:0 10px 36px rgba(0,0,0,.06); }
.seva-form h3{ margin-bottom:6px; }
.sqft-options{ display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.sqft-opt{ position:relative; }
.sqft-opt input{ position:absolute; opacity:0; inset:0; cursor:pointer; }
.sqft-opt label{
	display:block; cursor:pointer; border:2px solid #e8e2db; border-radius:14px;
	padding:14px 18px; text-align:center; min-width:104px; transition:all .2s ease; background:#fafafa;
}
.sqft-opt label .q{ display:block; font-size:20px; font-weight:800; color:var(--church-ink); }
.sqft-opt label .a{ display:block; font-size:13px; color:#777; margin-top:2px; }
.sqft-opt input:checked + label{ border-color:var(--accent-color); background:#fff4f1; }
.seva-amount-line{
	display:flex; align-items:center; justify-content:space-between; gap:14px;
	background:#faf6f2; border:1px dashed #e3b9a6; border-radius:14px; padding:16px 20px; margin:6px 0 20px;
}
.seva-amount-line .total{ font-size:26px; font-weight:800; color:var(--accent-color); }
.seva-form .form-group{ margin-bottom:16px; }
.seva-form input[type=text],
.seva-form input[type=email],
.seva-form input[type=tel],
.seva-form input[type=number],
.seva-form select,
.seva-form textarea{
	width:100%; border:1px solid #e3e3e3; border-radius:12px; padding:13px 16px; font-size:15px; background:#fff;
}
.seva-paymethods{ display:flex; gap:14px; flex-wrap:wrap; margin:6px 0 18px; }
.seva-paymethods label{ font-weight:500; }
.give-thanks{ background:#eefbf0; border:1px solid #bfe9c6; color:#216b34; border-radius:16px; padding:22px 26px; }
.give-error{ background:#fdeeee; border:1px solid #f3c2c2; color:#9b2c2c; border-radius:12px; padding:12px 16px; margin-bottom:16px; }

@media (max-width:600px){
	.church-topbar-logo img{ max-height:52px; }
}

/* ---------- Prayer request page ---------- */
.prayer-request-page .contact-information{ margin-bottom:40px; }
.prayer-verse{ border-left:4px solid var(--accent-color); background:#faf6f2; border-radius:0 14px 14px 0; padding:18px 22px; margin:24px 0; }
.prayer-verse p{ font-style:italic; color:var(--primary-color); margin-bottom:6px; }
.prayer-verse cite{ font-style:normal; font-weight:600; color:var(--accent-color); }
.prayer-notes{ list-style:none; padding:0; margin:0; }
.prayer-notes li{ position:relative; padding-left:26px; margin-bottom:10px; }
.prayer-notes li::before{ content:'\2713'; position:absolute; left:0; top:0; color:var(--accent-color); font-weight:700; }
.prayer-form label{ display:block; font-weight:600; color:var(--primary-color); margin-bottom:6px; }
.prayer-form label .req{ color:var(--accent-color); }
.prayer-form textarea.form-control{ resize:vertical; min-height:140px; }
.prayer-form .prayer-check{ display:flex; align-items:flex-start; gap:10px; font-weight:400; color:var(--text-color); cursor:pointer; margin:0; }
.prayer-form .prayer-check input{ width:18px; height:18px; margin-top:3px; flex-shrink:0; accent-color:var(--accent-color); }
.prayer-form .give-thanks h3{ color:#216b34; margin-bottom:10px; }
.prayer-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (max-width:767px){ .contact-us-form.prayer-form{ padding:30px 20px; } }

/* ---------- Harvest Thanksgiving letter page ---------- */
.harvest-page{ background:#f6f1ea; padding:90px 0; }
.harvest-letter{
	max-width:860px; margin:0 auto; background:#fffdf9;
	border:1px solid #e9dfd1; border-top:6px solid var(--accent-color);
	box-shadow:0 18px 50px rgba(60,40,20,.08);
	padding:64px 72px;
	font-family:Georgia, 'Times New Roman', serif; color:#3b342c;
}
.harvest-letterhead{ text-align:center; padding-bottom:30px; margin-bottom:34px; border-bottom:1px solid #e9dfd1; }
.harvest-church{ font-family:inherit; font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:#8a7a66; margin-bottom:14px; }
.harvest-title{ font-size:40px; line-height:1.15; margin-bottom:6px; color:var(--primary-color); }
.harvest-theme{ font-size:20px; font-style:italic; color:var(--accent-color); letter-spacing:.06em; margin-bottom:22px; }
.harvest-verse{ margin:0 auto; max-width:560px; }
.harvest-verse p{ font-style:italic; font-size:18px; color:#4a4036; margin-bottom:4px; }
.harvest-verse cite{ font-style:normal; font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:#8a7a66; }
.harvest-body p{ font-family:inherit; font-size:17px; line-height:1.8; color:#3b342c; margin-bottom:18px; }
.harvest-salutation{ font-weight:700; }
.harvest-body h3{ font-family:inherit; font-size:22px; color:var(--primary-color); margin:36px 0 14px; padding-bottom:8px; border-bottom:2px solid #f0e2d6; text-transform:none; }
.harvest-milestones, .harvest-purpose{ list-style:none; padding:0; margin:0 0 22px; }
.harvest-milestones li, .harvest-purpose li{ position:relative; padding-left:30px; margin-bottom:14px; font-size:17px; line-height:1.75; }
.harvest-milestones li::before{ content:'\2713'; position:absolute; left:0; top:0; color:var(--accent-color); font-weight:700; font-family:Arial, sans-serif; }
.harvest-purpose li::before{ content:'\2022'; position:absolute; left:8px; top:0; color:var(--accent-color); font-size:22px; line-height:1.3; }
.harvest-milestones strong{ color:var(--primary-color); }
.harvest-event{ margin:38px 0; padding:30px; background:#faf3ec; border:1px dashed #e3b9a6; border-radius:16px; text-align:center; }
.harvest-event-label{ font-size:13px !important; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-color) !important; font-weight:700; margin-bottom:18px !important; }
.harvest-dates{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:22px; }
.harvest-date{ background:#fff; border-radius:12px; padding:18px 14px; border:1px solid #efe3d6; }
.harvest-date span, .harvest-speaker span, .harvest-sign span{ display:block; }
.harvest-date .day{ font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#8a7a66; }
.harvest-date .date{ font-size:22px; font-weight:700; color:var(--primary-color); margin:4px 0; }
.harvest-date .what{ font-style:italic; color:var(--accent-color); }
.harvest-speaker .label{ font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#8a7a66; margin-bottom:4px; }
.harvest-speaker .name{ font-size:19px; font-weight:700; color:var(--primary-color); }
.harvest-speaker .role{ font-style:italic; color:#5c5045; }
.harvest-verse-close{ text-align:center; margin:34px auto 26px; }
.harvest-call{ text-align:center; font-size:22px !important; font-weight:700; color:var(--primary-color) !important; }
.harvest-call span{ display:inline-block; font-size:17px; font-weight:400; font-style:italic; color:#5c5045; margin-top:6px; }
.harvest-signatures{ display:flex; justify-content:space-between; gap:30px; margin-top:54px; padding-top:10px; }
.harvest-sign{ min-width:240px; }
.harvest-sign .name{ font-weight:700; color:var(--primary-color); }
.harvest-sign::before{ content:''; display:block; width:180px; height:1px; background:#cbbba6; margin-bottom:12px; margin-top:40px; }
.harvest-sign .role{ font-style:italic; color:#5c5045; }
.harvest-actions{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:40px; }
@media (max-width:767px){
	.harvest-page{ padding:50px 0; }
	.harvest-letter{ padding:36px 22px; }
	.harvest-title{ font-size:30px; }
	.harvest-dates{ grid-template-columns:1fr; }
	.harvest-signatures{ flex-direction:column; gap:10px; }
}
@media print{
	.harvest-page{ background:#fff; padding:0; }
	.harvest-letter{ box-shadow:none; border:none; }
	.harvest-actions{ display:none; }
}

/* ---------- Services page: worship time cards ---------- */
.worship-times .section-title-center{ text-align:center; max-width:680px; margin:0 auto; }
.worship-card{
	position:relative; height:calc(100% - 30px); margin-bottom:30px;
	background:#fff; border:1px solid #efe6dc; border-radius:24px;
	padding:34px 30px 30px; text-align:center;
	box-shadow:0 12px 34px rgba(60,40,20,.06);
	transition:transform .3s ease, box-shadow .3s ease;
	overflow:hidden;
}
.worship-card::before{ content:''; position:absolute; top:0; left:0; right:0; height:5px; background:var(--accent-color); }
.worship-card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(60,40,20,.12); }
.worship-card-top{ display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:16px; }
.worship-card .icon-box{ width:70px; height:70px; border-radius:50%; background:var(--accent-color); display:flex; align-items:center; justify-content:center; }
.worship-card .icon-box img{ max-width:34px; }
.worship-lang{ display:inline-block; font-size:13px; font-weight:600; letter-spacing:.06em; color:var(--accent-color); background:#fff1ec; border-radius:100px; padding:5px 14px; }
.worship-card h3{ font-size:24px; margin-bottom:10px; }
.worship-time{ font-size:56px; font-weight:800; line-height:1; color:var(--primary-color); margin-bottom:6px; }
.worship-time span{ font-size:20px; font-weight:700; color:var(--accent-color); margin-left:6px; vertical-align:top; position:relative; top:8px; }
.worship-day{ font-size:14px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#8a7a66; margin-bottom:16px; }
.worship-desc{ margin:0; padding-top:16px; border-top:1px solid #f0e8df; }
.worship-cta{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:20px; }
@media (max-width:767px){ .worship-time{ font-size:46px; } }

/* ---------- Ministries page: theme image cards ---------- */
.ministry-title-center{ text-align:center; max-width:700px; margin:0 auto; }
.page-ministries .ministries-content{ right:20px; }
.page-ministries .ministries-tag{ display:inline-block; background:var(--accent-color); color:#fff; font-size:12px; font-weight:600; border-radius:100px; padding:4px 12px; margin-bottom:10px; }
.page-ministries .ministries-content h3{ font-size:22px; margin-bottom:6px; }
.page-ministries .ministries-content p{ color:rgba(255,255,255,.88); font-size:14px; line-height:1.5; margin:0; text-shadow:0 1px 6px rgba(0,0,0,.4); }
.page-ministries .ministries-image a::before{ background:linear-gradient(180deg, rgba(4,4,1,.72) 0%, rgba(4,4,1,.35) 45%, rgba(0,0,0,0) 70%); }

/* ---------- Event gallery pages ---------- */
.event-title-center{ text-align:center; max-width:720px; margin:0 auto; }
.event-gallery .photo-gallery img{ aspect-ratio:4/3; object-fit:cover; object-position:center 15%; width:100%; }
.event-empty{ text-align:center; max-width:560px; margin:10px auto 0; background:#faf6f2; border:1px dashed #e3b9a6; border-radius:20px; padding:44px 30px; }
.event-empty h3{ margin-bottom:10px; }
.event-empty p{ margin:0; }
.event-empty a{ color:var(--accent-color); font-weight:600; }
.worship-card .icon-box i{ font-size:32px; color:#fff; line-height:1; }

/* ---------- About images: lock sizes so larger source photos keep the theme layout ---------- */
.about-img-1 img, .about-img-2 img{ width:100%; height:auto; display:block; }
.about-img-2{ width:348px; }
@media only screen and (max-width: 767px){
	.about-img-2{ width:200px; }
}

/* ---------- Home hero: full-width church panorama banner ----------
   The image is a wide strip (about 4.6:1). The banner is 70% of the screen height
   (at least 560px) and the image covers it, cropping the sides to fit.
   Parallax is not used here: it would pin the image to full-screen height and zoom in. */
.hero.hero-panorama{
	min-height: max(70vh, 560px);
	padding: 80px 0;
	display: flex;
	align-items: center;
	background-size: cover;
	background-position: center center;
	background-attachment: scroll;
}
.hero.hero-panorama > .container{ width: 100%; }
.hero.hero-panorama .down-arrow{ display: none; }
.hero.hero-panorama .section-title{ margin-bottom: 24px; }
.hero.hero-panorama .section-title h3{ margin-bottom: 8px; text-shadow: 0 1px 8px rgba(0,0,0,.55); }
.hero.hero-panorama .section-title h1{ font-size: clamp(36px, 4.2vw, 80px); line-height: 1.12; }
.hero.hero-panorama .section-title p{ margin-top: 12px; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.hero.hero-panorama .section-title h1{ text-shadow: 0 2px 14px rgba(0,0,0,.35); }
@media only screen and (max-width: 991px){
	.hero.hero-panorama{ min-height: 520px; padding: 70px 0; }
}

/* ---------- Obituaries page ---------- */
.page-obituaries{ padding:100px 0; }
.obit-title-center{ text-align:center; max-width:760px; margin:0 auto; }
.obit-item{ height:calc(100% - 30px); margin-bottom:30px; display:flex; flex-direction:column; }
.obit-poster{ display:block; border-radius:24px; overflow:hidden; border:1px solid #e6ddd2; box-shadow:0 12px 30px rgba(60,40,20,.08); background:#fff; }
.obit-poster img{ width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top; transition:transform .4s ease; }
.obit-poster:hover img{ transform:scale(1.03); }
.obit-card{
	flex:1; text-align:center; background:#fff;
	border:2px solid #2b2b2b; border-radius:28px; padding:26px 24px 20px;
	font-family:Georgia, 'Times New Roman', serif; color:#3b342c;
	box-shadow:0 12px 30px rgba(60,40,20,.08);
}
.obit-card-label{ font-size:22px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--primary-color); margin-bottom:8px; }
.obit-card-verse{ font-style:italic; font-size:14px; line-height:1.5; margin:0 0 16px; color:#4a4036; }
.obit-card-verse cite{ display:block; font-style:normal; font-size:13px; text-align:right; color:#8a7a66; margin-top:4px; }
.obit-card-photo{ width:130px; height:160px; margin:0 auto 14px; border-radius:10px; overflow:hidden; background:#f3eee8; }
.obit-card-photo img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.obit-card-photo-empty{ display:flex; align-items:center; justify-content:center; font-size:46px; color:#c9b9a5; }
.obit-card-name{ font-family:inherit; font-size:21px; text-transform:none; color:#8b1d1d; margin-bottom:2px; }
.obit-card-role{ font-size:14px; margin-bottom:4px; }
.obit-card-dates{ font-size:14px; font-weight:700; color:var(--primary-color); margin-bottom:12px; }
.obit-card-message{ font-size:14px; line-height:1.6; margin-bottom:12px; }
.obit-card-service{ background:#faf6f2; border-radius:12px; padding:10px 12px; margin-bottom:12px; }
.obit-card-service p{ font-size:14px; line-height:1.5; margin:0; color:#8b1d1d; }
.obit-card-prayer{ font-size:13px; font-style:italic; margin-bottom:10px; }
.obit-card-church{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-color); margin:0; padding-top:10px; border-top:1px solid #eee4d8; }
.obit-caption{ padding:14px 4px 0; }
.obit-caption h3{ font-size:18px; text-transform:none; margin-bottom:2px; }
.obit-caption p{ font-size:14px; color:#8a7a66; margin:0; }
.obit-empty{ text-align:center; max-width:560px; margin:0 auto; background:#faf6f2; border:1px dashed #e3b9a6; border-radius:20px; padding:44px 30px; }
.obit-empty h3{ margin-bottom:10px; }
.obit-empty p{ margin:0; }

/* ---------- Main menu ----------
   The menu has 11 items, so:
   - 1366px and wider: header uses the full width, labels stay on one line with tighter spacing;
   - 992px–1365px: the theme's hamburger (mobile) menu is used, as on phones. */
.church-header #menu > li > a{ white-space: nowrap; }
.church-header .header-btn .btn-default{ white-space: nowrap; }
@media only screen and (min-width: 1366px){
	.church-header .navbar > .container{ max-width: 100%; padding-left: 30px; padding-right: 30px; }
	.church-header #menu > li > a{ padding: 14px 9px !important; font-size: 15px; }
}
@media only screen and (min-width: 1600px){
	.church-header #menu > li > a{ padding: 14px 12px !important; font-size: 16px; }
}
@media only screen and (min-width: 992px) and (max-width: 1365px){
	.church-header .main-menu{ display: none !important; }
	.church-header .responsive-menu,
	.church-header .navbar-toggle{ display: block; }
	.church-header .slicknav_nav li,
	.church-header .slicknav_nav ul{ display: block; }
	.church-header .navbar-toggle{ margin-left: auto; }
	.church-header .header-btn{ margin-left: 20px; margin-right: 16px; }
}

/* ---------- Choir page ---------- */
.choir-intro{ padding:100px 0 60px; }
.choir-intro-image figure{ border-radius:0 0 100px 0; overflow:hidden; display:block; }
.choir-intro-image img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 30%; }
.choir-intro-content{ margin-left:30px; }
.choir-intro-content > p{ margin-bottom:16px; }
.choir-points{ list-style:none; padding:0; margin:26px 0 0; }
.choir-points li{ display:flex; align-items:flex-start; gap:14px; margin-bottom:14px; }
.choir-points i{ flex-shrink:0; width:42px; height:42px; border-radius:50%; background:var(--accent-color); color:#fff; display:flex; align-items:center; justify-content:center; font-size:17px; }
.choir-points span{ padding-top:9px; }
.choir-points strong{ color:var(--primary-color); }
.choir-gallery{ padding:40px 0 60px; }
.choir-title-center{ text-align:center; max-width:700px; margin:0 auto; }
.choir-gallery .photo-gallery img{ aspect-ratio:4/3; object-fit:cover; object-position:center 30%; width:100%; }
.choir-join{ padding:0 0 100px; }
.choir-join-box{ text-align:center; max-width:820px; margin:0 auto; background:#faf6f2; border:1px dashed #e3b9a6; border-radius:24px; padding:50px 40px; }
.choir-join-box h2{ font-size:36px; margin-bottom:14px; }
.choir-join-box h2 span{ color:var(--accent-color); }
.choir-join-box p{ max-width:600px; margin:0 auto 24px; }
@media (max-width:991px){
	.choir-intro{ padding:60px 0 30px; }
	.choir-intro-content{ margin-left:0; margin-top:40px; }
	.choir-join-box{ padding:36px 22px; }
	.choir-join-box h2{ font-size:28px; }
}

/* ---------- CSI Medak Diocese page ---------- */
.medak-intro{ padding:100px 0 50px; }
.medak-emblem{ text-align:center; }
.medak-emblem img{ max-width:320px; width:100%; }
.medak-motto{ font-size:20px; font-style:italic; color:var(--primary-color); border-left:4px solid var(--accent-color); padding:6px 0 6px 18px; margin:0; }
.medak-motto span{ display:block; font-size:14px; font-style:normal; color:#8a7a66; margin-top:4px; }
.medak-cathedral{ padding:20px 0 60px; }
.medak-cathedral-image{ position:relative; margin:0; border-radius:0 0 100px 0; overflow:hidden; }
.medak-cathedral-image img{ width:100%; aspect-ratio:16/8; object-fit:cover; object-position:center 35%; display:block; }
.medak-cathedral-image figcaption{ position:absolute; left:24px; top:22px; background:rgba(0,0,0,.55); color:#fff; font-weight:600; padding:8px 18px; border-radius:100px; font-size:15px; }
.medak-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:-50px; position:relative; z-index:2; padding:0 40px; }
.medak-stat{ background:#fff; border-radius:20px; box-shadow:0 14px 34px rgba(60,40,20,.10); text-align:center; padding:24px 12px; border-top:4px solid var(--accent-color); }
.medak-stat strong{ display:block; font-size:40px; line-height:1.1; color:var(--primary-color); }
.medak-stat span{ font-size:15px; color:#6b5f52; }
.medak-highlights{ padding:40px 0 100px; }
.medak-title-center{ text-align:center; max-width:700px; margin:0 auto; }
.medak-card{ display:flex; gap:20px; align-items:flex-start; height:calc(100% - 30px); margin-bottom:30px; background:#fff; border:1px solid #efe6dc; border-radius:20px; padding:28px; box-shadow:0 10px 28px rgba(60,40,20,.05); transition:transform .3s ease, box-shadow .3s ease; }
.medak-card:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(60,40,20,.10); }
.medak-card-icon{ flex-shrink:0; width:58px; height:58px; border-radius:50%; background:var(--accent-color); color:#fff; display:flex; align-items:center; justify-content:center; font-size:23px; }
.medak-card h3{ font-size:21px; margin-bottom:8px; text-transform:none; }
.medak-card p{ margin:0; }
.medak-closing{ max-width:900px; margin:20px auto 0; text-align:center; background:#faf6f2; border:1px dashed #e3b9a6; border-radius:20px; padding:30px 34px; }
.medak-closing p{ margin:0; font-size:17px; line-height:1.8; }
@media (max-width:991px){
	.medak-intro{ padding:60px 0 30px; }
	.medak-emblem{ margin-bottom:30px; }
	.medak-emblem img{ max-width:220px; }
	.medak-stats{ grid-template-columns:repeat(2,1fr); margin-top:20px; padding:0; }
	.medak-cathedral-image{ border-radius:0 0 50px 0; }
	.medak-cathedral-image img{ aspect-ratio:4/3; }
}
@media (max-width:575px){
	.medak-card{ flex-direction:column; padding:22px; }
	.medak-stat strong{ font-size:32px; }
}

/* ---------- Sermons page: YouTube player ---------- */
.sermon-player{ padding:90px 0 20px; }
.sermon-player-title{ text-align:center; max-width:700px; margin:0 auto; }
.sermon-player-main{ background:#fff; border:1px solid #efe6dc; border-radius:24px; overflow:hidden; box-shadow:0 14px 36px rgba(60,40,20,.08); margin-bottom:30px; }
.sermon-player-frame{ position:relative; aspect-ratio:16/9; background:#000; }
.sermon-player-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.sermon-player-info{ padding:22px 26px 26px; }
.sermon-player-info h3{ font-size:22px; text-transform:none; margin-bottom:4px; }
.sermon-player-info p{ margin:0 0 14px; color:#8a7a66; font-size:15px; }
.sermon-player-info p:empty{ display:none; }
.sermon-yt-btn{ display:inline-flex; align-items:center; gap:10px; background:#ff0000; color:#fff !important; font-weight:600; border-radius:100px; padding:10px 22px; transition:background .3s ease; }
.sermon-yt-btn:hover{ background:#cc0000; }
.sermon-yt-btn i{ font-size:20px; }
.sermon-playlist{ background:#faf6f2; border-radius:24px; padding:18px; max-height:560px; overflow-y:auto; margin-bottom:30px; }
.sermon-playlist-label{ font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:13px; color:var(--accent-color); margin:4px 6px 12px; }
.sermon-playlist-item{ display:flex; gap:14px; align-items:center; width:100%; text-align:left; background:#fff; border:2px solid transparent; border-radius:16px; padding:8px; margin-bottom:10px; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease; }
.sermon-playlist-item:hover{ box-shadow:0 6px 18px rgba(60,40,20,.10); }
.sermon-playlist-item.active{ border-color:var(--accent-color); }
.sermon-playlist-item .thumb{ position:relative; flex-shrink:0; width:120px; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#222; display:flex; align-items:center; justify-content:center; color:#fff; }
.sermon-playlist-item .thumb img{ width:100%; height:100%; object-fit:cover; }
.sermon-playlist-item .thumb .play{ position:absolute; width:30px; height:30px; border-radius:50%; background:rgba(255,0,0,.9); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; padding-left:2px; }
.sermon-playlist-item .text strong{ display:block; font-size:15px; line-height:1.35; color:var(--primary-color); }
.sermon-playlist-item .text small{ display:block; font-size:13px; color:#8a7a66; margin-top:3px; }
@media (max-width:991px){ .sermon-player{ padding:60px 0 10px; } .sermon-playlist{ max-height:none; } }

/* ---------- About page: Vision / Mission / Approach points ---------- */
.vision-mission-body .vm-points{ list-style:none; padding:0; margin:22px 0 0; }
.vision-mission-body .vm-points li{ position:relative; padding-left:30px; margin-bottom:12px; line-height:1.6; }
.vision-mission-body .vm-points li::before{ content:'\f00c'; font-family:'Font Awesome 6 Free'; font-weight:900; position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%; background:var(--accent-color); color:#fff; font-size:10px; display:flex; align-items:center; justify-content:center; }
.vision-mission-body .vm-points strong{ color:var(--primary-color); }

/* ---------- Pastorate Committee page ---------- */
.page-committee{ padding:100px 0 70px; }
.committee-title-center{ text-align:center; max-width:720px; margin:0 auto; }
.committee-chair{ display:flex; align-items:center; gap:28px; max-width:760px; margin:0 auto 60px; background:var(--accent-color); color:#fff; border-radius:0 0 80px 0; padding:22px 40px 22px 22px; box-shadow:0 16px 40px rgba(254,96,53,.25); }
.committee-chair img{ width:130px; height:150px; object-fit:cover; object-position:top; border-radius:18px; border:4px solid rgba(255,255,255,.6); flex-shrink:0; }
.committee-chair-label{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; background:rgba(255,255,255,.2); border-radius:100px; padding:4px 12px; margin-bottom:8px; }
.committee-chair h3{ color:#fff; font-size:26px; text-transform:none; margin-bottom:4px; }
.committee-chair p{ color:rgba(255,255,255,.9); margin:0; }
.committee-group{ margin-bottom:30px; }
.committee-group-title{ text-align:center; font-size:22px; text-transform:none; margin:0 0 28px; position:relative; }
.committee-group-title::before{ content:''; position:absolute; left:0; right:0; top:50%; border-top:1px solid #eadfd3; }
.committee-group-title span{ position:relative; background:var(--white-color, #fff); padding:0 20px; }
.committee-card{ text-align:center; background:#fff; border:1px solid #efe6dc; border-radius:24px 24px 60px 24px; padding:28px 18px 24px; height:calc(100% - 30px); margin-bottom:30px; transition:transform .3s ease, box-shadow .3s ease; }
.committee-card:hover{ transform:translateY(-5px); box-shadow:0 16px 36px rgba(60,40,20,.10); }
.committee-photo{ width:110px; height:110px; margin:0 auto 16px; border-radius:50%; overflow:hidden; border:4px solid #fff1ec; box-shadow:0 0 0 2px var(--accent-color); background:#faf6f2; }
.committee-photo img{ width:100%; height:100%; object-fit:cover; }
.committee-initials{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:34px; font-weight:700; color:var(--accent-color); letter-spacing:.04em; }
.committee-card h4{ font-size:18px; text-transform:none; margin-bottom:4px; }
.committee-card p{ font-size:14px; color:var(--accent-color); font-weight:600; margin:0; }
@media (max-width:767px){
	.page-committee{ padding:60px 0 40px; }
	.committee-chair{ flex-direction:column; text-align:center; padding:26px 20px 34px; border-radius:0 0 50px 0; }
	.committee-chair h3{ font-size:22px; }
}

/* ---------- Sermons page (YouTube) — extra pieces ---------- */
.sermon-now-label{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-color); margin-bottom:6px; }
.sermon-empty{ text-align:center; max-width:640px; margin:0 auto 30px; background:#faf6f2; border:1px dashed #e3b9a6; border-radius:24px; padding:48px 30px; }
.sermon-empty-icon{ width:84px; height:84px; margin:0 auto 18px; border-radius:50%; background:#ff0000; color:#fff; display:flex; align-items:center; justify-content:center; font-size:38px; }
.sermon-empty h3{ margin-bottom:10px; }
.sermon-empty p{ max-width:480px; margin:0 auto 20px; }
.sermon-empty p:last-child{ margin-bottom:0; }
.sermon-times{ padding:30px 0 100px; }
.sermon-times-box{ display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; background:var(--accent-color); color:#fff; border-radius:0 0 80px 0; padding:34px 44px; }
.sermon-times-text h3{ color:#fff; font-size:26px; margin-bottom:4px; }
.sermon-times-text p{ color:rgba(255,255,255,.9); margin:0; }
.sermon-times-list{ list-style:none; display:flex; gap:34px; margin:0; padding:0; flex-wrap:wrap; }
.sermon-times-list li{ display:flex; flex-direction:column; }
.sermon-times-list strong{ font-size:26px; line-height:1.1; }
.sermon-times-list span{ font-size:14px; color:rgba(255,255,255,.9); }
.sermon-times-box .btn-default.btn-highlighted{ white-space:nowrap; }
@media (max-width:991px){
	.sermon-times{ padding:20px 0 60px; }
	.sermon-times-box{ flex-direction:column; align-items:flex-start; padding:30px 26px; border-radius:0 0 50px 0; }
	.sermon-times-list{ gap:24px; }
}

/* ---------- Gallery page: filters + load more ---------- */
.gallery-title-center{ text-align:center; max-width:760px; margin:0 auto; }
.gallery-filters{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 40px; }
.gallery-filters button{ border:1px solid #efe3d6; background:#fff; color:var(--primary-color); font-weight:600; border-radius:100px; padding:10px 20px; transition:all .3s ease; }
.gallery-filters button span{ display:inline-block; min-width:26px; font-size:12px; background:#fff1ec; color:var(--accent-color); border-radius:100px; padding:2px 7px; margin-left:4px; }
.gallery-filters button:hover, .gallery-filters button.active{ background:var(--accent-color); border-color:var(--accent-color); color:#fff; }
.gallery-filters button.active span, .gallery-filters button:hover span{ background:rgba(255,255,255,.25); color:#fff; }
.gwc-gallery .gwc-item.is-hidden{ display:none; }
.gwc-gallery .photo-gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.gallery-more{ text-align:center; margin-top:10px; }
@media (max-width:767px){ .gallery-filters button{ padding:8px 14px; font-size:14px; } }

/* ---------- Our Bishop page ---------- */
.bishop-intro{ padding:100px 0 60px; }
.bishop-image figure{ display:block; border-radius:0 0 120px 0; overflow:hidden; }
.bishop-image img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top; }
.bishop-content{ margin-left:30px; }
.bishop-content > p{ margin-bottom:16px; }
.bishop-roles{ list-style:none; padding:0; margin:0 0 24px; display:flex; flex-wrap:wrap; gap:10px; }
.bishop-roles li{ display:inline-flex; align-items:center; gap:8px; background:#fff1ec; color:var(--primary-color); font-weight:600; font-size:15px; border-radius:100px; padding:8px 16px; }
.bishop-roles i{ color:var(--accent-color); }
.bishop-journey{ padding:20px 0 100px; }
.bishop-title-center{ text-align:center; max-width:700px; margin:0 auto; }
.bishop-timeline{ list-style:none; padding:0; margin:0 auto; max-width:860px; position:relative; }
.bishop-timeline::before{ content:''; position:absolute; left:150px; top:8px; bottom:8px; width:2px; background:#f0dccf; }
.bishop-timeline li{ display:flex; gap:40px; position:relative; margin-bottom:26px; }
.bishop-timeline li::before{ content:''; position:absolute; left:144px; top:8px; width:14px; height:14px; border-radius:50%; background:var(--accent-color); box-shadow:0 0 0 5px #fff1ec; }
.bishop-year{ flex:0 0 120px; text-align:right; font-weight:700; color:var(--accent-color); padding-top:2px; }
.bishop-step{ flex:1; padding-left:20px; }
.bishop-step h3{ font-size:20px; text-transform:none; margin-bottom:4px; }
.bishop-step p{ margin:0; }
.bishop-prayer{ text-align:center; max-width:760px; margin:0 auto; background:#faf6f2; border:1px dashed #e3b9a6; border-radius:24px; padding:34px 30px; }
.bishop-prayer p{ font-size:19px; font-style:italic; color:var(--primary-color); margin-bottom:20px; }
@media (max-width:991px){
	.bishop-intro{ padding:60px 0 30px; }
	.bishop-content{ margin-left:0; margin-top:36px; }
	.bishop-image figure{ border-radius:0 0 60px 0; }
}
@media (max-width:575px){
	.bishop-timeline::before{ left:6px; }
	.bishop-timeline li{ flex-direction:column; gap:4px; padding-left:30px; }
	.bishop-timeline li::before{ left:0; }
	.bishop-year{ flex:none; text-align:left; }
	.bishop-step{ padding-left:0; }
}

/* ---------- Footer: "Powered by QuantumLoop" ---------- */
.footer-powered{ display:flex; align-items:center; justify-content:flex-end; gap:12px; color:var(--white-color); font-size:15px; }
.footer-powered a{ display:inline-flex; align-items:center; line-height:1; color:var(--white-color); font-weight:600; transition:opacity .3s ease; }
.footer-powered a:hover{ opacity:.8; }
.footer-powered img{ display:block; width:100px; height:auto; }
@media (max-width:767px){ .footer-powered{ justify-content:center; margin-top:14px; } }

/* ---------- Donate page (Razorpay online giving) ---------- */
.give-page{ padding:100px 0; }
.give-title-center{ text-align:center; max-width:760px; margin:0 auto; }
.give-form{ background:#fff; border:1px solid #efe6dc; border-radius:24px; padding:36px; box-shadow:0 14px 36px rgba(60,40,20,.06); margin-bottom:30px; }
.give-step{ display:flex; align-items:center; gap:12px; font-size:20px; text-transform:none; margin:6px 0 18px; }
.give-step span{ width:32px; height:32px; border-radius:50%; background:var(--accent-color); color:#fff; font-size:15px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.give-funds{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:32px; }
.give-fund{ cursor:pointer; margin:0; }
.give-fund input{ position:absolute; opacity:0; pointer-events:none; }
.give-fund-box{ display:block; height:100%; border:2px solid #efe3d6; border-radius:18px; padding:18px; transition:all .2s ease; }
.give-fund-box i{ font-size:22px; color:var(--accent-color); margin-bottom:8px; display:block; }
.give-fund-box strong{ display:block; color:var(--primary-color); font-size:17px; margin-bottom:4px; }
.give-fund-box small{ display:block; font-size:14px; line-height:1.5; color:var(--text-color); }
.give-fund input:checked + .give-fund-box{ border-color:var(--accent-color); background:#fff6f2; box-shadow:0 0 0 3px rgba(254,96,53,.12); }
.give-fund input:focus-visible + .give-fund-box{ outline:2px solid var(--accent-color); outline-offset:2px; }
.give-amounts{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.give-amount{ border:2px solid #efe3d6; background:#fff; border-radius:100px; padding:10px 20px; font-weight:700; color:var(--primary-color); transition:all .2s ease; }
.give-amount:hover, .give-amount.active{ border-color:var(--accent-color); background:var(--accent-color); color:#fff; }
.give-amount-custom{ display:flex; align-items:center; border:2px solid #efe3d6; border-radius:100px; padding:0 6px 0 18px; min-width:170px; flex:1; }
.give-amount-custom span{ font-weight:700; color:var(--primary-color); }
.give-amount-custom input{ border:0; outline:0; width:100%; padding:10px 8px; font-weight:700; font-size:16px; background:transparent; }
.give-amount-custom:focus-within{ border-color:var(--accent-color); }
.give-form label{ font-weight:600; color:var(--primary-color); margin-bottom:6px; display:block; }
.give-form label b{ color:var(--accent-color); }
.give-form label small{ font-weight:400; color:#8a7a66; }
.give-form .form-control{ border:1px solid #e3e3e3; border-radius:12px; padding:12px 16px; font-size:15px; box-shadow:none; }
.give-form .form-control:focus{ border-color:var(--accent-color); }
.give-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.give-submit{ margin-top:10px; }
.give-submit.is-busy{ opacity:.6; pointer-events:none; }
.give-secure{ margin:14px 0 0; font-size:14px; color:#6b5f52; }
.give-secure i{ color:#2e8b57; margin-right:6px; }
.give-offline{ background:#fdf6e3; border:1px solid #f0dca6; color:#6b5520; border-radius:14px; padding:16px 20px; margin-top:6px; }
.give-aside-box{ background:#faf6f2; border-radius:20px; padding:26px; margin-bottom:20px; }
.give-aside-box h3{ font-size:20px; text-transform:none; margin-bottom:10px; }
.give-aside-box p{ margin:0; }
.give-aside-box ul{ list-style:none; padding:0; margin:0; }
.give-aside-box li{ display:flex; gap:12px; margin-bottom:10px; }
.give-aside-box li i{ color:var(--accent-color); margin-top:5px; }
.give-aside-box a{ color:var(--accent-color); font-weight:600; }
.give-receipt{ max-width:720px; margin:0 auto; background:#fff; border:1px solid #efe6dc; border-radius:24px; padding:44px; box-shadow:0 14px 36px rgba(60,40,20,.08); }
.give-receipt-head{ text-align:center; margin-bottom:28px; }
.give-receipt-check{ width:72px; height:72px; border-radius:50%; background:#2e8b57; color:#fff; font-size:32px; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.give-receipt-head h2{ font-size:32px; margin-bottom:6px; }
.give-receipt-table{ margin:0 0 24px; border-top:1px solid #f0e8df; }
.give-receipt-table > div{ display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid #f0e8df; }
.give-receipt-table dt{ font-weight:600; color:#8a7a66; margin:0; }
.give-receipt-table dd{ margin:0; text-align:right; color:var(--primary-color); font-weight:600; }
.give-receipt-table dd.amt{ font-size:22px; color:var(--accent-color); }
.give-receipt-note{ font-size:14px; }
.give-receipt-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
@media (max-width:767px){
	.give-page{ padding:60px 0; }
	.give-form, .give-receipt{ padding:24px 18px; }
	.give-funds{ grid-template-columns:1fr; }
}
@media print{
	header, footer, .page-header, .give-receipt-actions, .preloader{ display:none !important; }
	.give-page{ padding:0; } .give-receipt{ box-shadow:none; border:0; }
}

/* ---------- Home hero on phones: tall crop of the church interior (the wide panorama zooms too much) ---------- */
@media only screen and (max-width: 767px){
	.hero.hero-panorama{
		background-image: url('../images/hero-church-mobile.jpg') !important;
		background-position: center 35% !important;
	}
}

/* Address links to Google Maps (keep text look) */
.footer-info-box-content p a, .contact-info-content h3 a{ color: inherit; text-decoration: none; }
.footer-info-box-content p a:hover, .contact-info-content h3 a:hover{ color: var(--accent-color); }

/* Bishop's Commission — two pastor cards side by side */
.committee-pastors{ display:flex; justify-content:center; gap:30px; flex-wrap:wrap; margin:0 auto 60px; }
.committee-pastors .committee-chair{ flex:1 1 0; min-width:0; max-width:560px; margin:0; gap:22px; }
.committee-pastors .committee-chair h3{ font-size:22px; }
@media (max-width:991px){ .committee-pastors .committee-chair{ flex:1 1 100%; } }

/* ---------- CSITA page ---------- */
.csita-stats{ margin-top:50px; }
.csita-card{ height:calc(100% - 30px); flex-direction:column; }
.csita-officers{ background:#faf6f2; }
.csita-contact{ display:flex; gap:22px; align-items:flex-start; max-width:760px; margin:50px auto 0; background:#fff; border:1px solid #f1e3dc; border-radius:24px 24px 60px 24px; padding:28px 32px; }
.csita-contact-icon{ width:54px; height:54px; flex-shrink:0; border-radius:50%; background:var(--accent-color); color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; }
.csita-contact h3{ font-size:22px; text-transform:none; margin-bottom:8px; }
.csita-contact p{ margin:0 0 4px; }
.csita-contact a{ color:var(--accent-color); }
.csita-source{ font-size:13px; opacity:.75; margin-top:8px !important; }
@media (max-width:575px){ .csita-contact{ flex-direction:column; padding:24px; } }
.csita-emblem img{ max-width:260px; }
