/*
Theme Name: CCRC
Description: Custom WordPress theme for the Canadian Centre for Rural Creativity.
Version: 0.1.18
Text Domain: ccrc
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

body { margin: 0; background: #FAFBF6; color: #3F4548; }
/* Podcast content uses native Elementor containers and editable widgets. */
.elementor .ccrc-podcasts.ccrc-podcasts { max-width: 1120px !important; margin: 0 auto; padding: 52px 28px 64px; gap: 28px; font-family: 'Poppins', sans-serif; font-size: 15px; line-height: 1.8; }
.elementor .ccrc-podcasts .elementor-element.elementor-widget-text-editor { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 400; line-height: 1.8; color: #3f4548; }
.elementor .ccrc-podcasts .elementor-element.pod-eyebrow { font-size: 12px; color: #576747; }
.elementor .ccrc-podcasts .elementor-element .elementor-button { background-color: #234b45; color: #fff; font-family: 'Poppins', sans-serif; font-weight: 500; }
.elementor .ccrc-podcasts .elementor-element .elementor-button:hover { background-color: #183f32; }
.ccrc-podcasts .e-con { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.ccrc-podcasts .elementor-heading-title { color: #234b45; font-family: inherit; line-height: 1.2; font-weight: 500; letter-spacing: -.025em; }
.ccrc-podcasts h2.elementor-heading-title { font-size: clamp(27px, 3vw, 37px); }
.ccrc-podcasts h3.elementor-heading-title { font-size: clamp(23px, 2.5vw, 29px); }
.ccrc-podcasts p { margin: 0; }
.ccrc-podcasts .pod-eyebrow { color: #576747; font-size: 12px; line-height: 1.65; letter-spacing: .07em; }
.ccrc-podcasts .pod-muted { color: #69736c; font-size: 14px; }
.ccrc-podcasts .pod-hub-intro { max-width: 790px; gap: 18px; padding-bottom: 12px; }
.ccrc-podcasts .pod-series-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.ccrc-podcasts .pod-series-card { padding: 34px; border: 1px solid #dbe1d1; border-radius: 16px; background: #fff; gap: 18px; }
.ccrc-podcasts .pod-series-card > .elementor-widget-image { background: #f1f3e9; border-radius: 10px; padding: 24px; }
.ccrc-podcasts .pod-series-card .elementor-widget-image img { width: 180px; height: 180px; object-fit: contain; }
.ccrc-podcasts .pod-series-card > .elementor-widget-button { margin-top: auto; padding-top: 8px; }
.ccrc-podcasts .elementor-button { background: #234b45; border: 1px solid #234b45; border-radius: 6px; padding: 13px 20px; font: 500 13px/1.4 'Poppins', sans-serif; color: #fff; }
.ccrc-podcasts .elementor-button:hover { background: #183f32; color: #fff; }
.ccrc-podcasts a:focus-visible { outline: 3px solid #768947; outline-offset: 4px; }
.ccrc-podcasts .pod-listening { align-items: center; text-align: center; margin-top: 12px; padding: 32px 24px; background: #eef2e6; border-radius: 12px; gap: 16px; }
.ccrc-podcasts .pod-listening h2 { font-size: 27px; }
.ccrc-podcasts .pod-platforms { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.elementor .ccrc-podcasts .pod-platform.elementor-element .elementor-button { display: flex; align-items: center; justify-content: center; min-height: 64px; width: 100%; padding: 16px 12px; background: #fff; color: #234b45; border: 1px solid #d3ddcb; border-radius: 10px; box-shadow: 0 3px 8px #183f3208; transition: background .15s, border-color .15s; }
.elementor .ccrc-podcasts .pod-platform.elementor-element .elementor-button:hover { background: #f8faf3; border-color: #78916a; }
.ccrc-podcasts .pod-platform .elementor-button-content-wrapper { align-items: center; gap: 10px; }
.ccrc-podcasts .pod-platform .elementor-button-icon { font-size: 22px; display: flex; }
.elementor .ccrc-podcasts .pod-platform .elementor-button-icon svg { width: 22px; height: 22px; fill: currentColor; }
.ccrc-podcasts .pod-platform-spotify .elementor-button-icon { color: #16853d; }
.ccrc-podcasts .pod-platform-apple .elementor-button-icon { color: #8a35bb; }
.ccrc-podcasts .pod-platform-youtube .elementor-button-icon { color: #d9252a; }
.ccrc-podcasts .pod-platform-podbean .elementor-button-icon { color: #638520; }
body.postid-62 .elementor .ccrc-podcasts.ccrc-podcasts { padding-top: 8px; }
.ccrc-podcasts .pod-platforms .elementor-widget { width: auto; }
.ccrc-podcasts .pod-platforms .elementor-button { background: transparent; color: #234b45; }
.ccrc-podcasts .pod-platforms .elementor-button:hover { background: #234b45; color: #fff; }
.ccrc-podcasts .pod-series-opening { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 40px; align-items: center; padding-bottom: 26px; }
.ccrc-podcasts .pod-series-art { padding: 25px; background: #eef2e6; border-radius: 16px; }
.ccrc-podcasts .pod-series-art img { width: 190px; height: 190px; object-fit: contain; }
.ccrc-podcasts .pod-series-copy { gap: 18px; }
.ccrc-podcasts .pod-section-heading { border-top: 1px solid #dbe1d1; padding-top: 30px; gap: 10px; }
.ccrc-podcasts .pod-episode { display: grid; grid-template-columns: 140px minmax(0,1fr); align-items: center; gap: 30px; padding: 30px; background: #fff; border: 1px solid #dbe1d1; border-radius: 12px; }
.ccrc-podcasts .pod-episode-art { padding: 16px; background: #f1f3e9; border-radius: 8px; }
.ccrc-podcasts .pod-episode-art img { width: 108px; height: 108px; object-fit: contain; }
.ccrc-podcasts .pod-episode-copy { gap: 16px; }
.ccrc-podcasts .pod-back { padding-top: 8px; }
@media(max-width:767px) {
 .ccrc-podcasts .pod-platforms { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ccrc-podcasts.ccrc-podcasts { padding: 32px 20px 40px; gap: 22px; }
 .ccrc-podcasts .pod-series-grid, .ccrc-podcasts .pod-series-opening { grid-template-columns: 1fr; }
 .ccrc-podcasts .pod-series-opening { gap: 24px; }
 .ccrc-podcasts .pod-series-art { max-width: 230px; align-self: center; }
 .ccrc-podcasts .pod-series-card { padding: 24px; }
 .ccrc-podcasts .pod-episode { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
 .ccrc-podcasts .pod-episode-art { max-width: 104px; }
 .ccrc-podcasts .pod-episode-art img { width: 72px; height: 72px; }
}
/* Shared footer: rural greens, warm paper, and generous breathing room. */
.ccrc-footer { background: #183f32; color: #fafbf6; font-family: 'Poppins', sans-serif; font-size: 14px; line-height: 1.7; border-top: 5px solid #a8b97c; }
.ccrc-footer, .ccrc-footer * { box-sizing: border-box; }
.ccrc-footer-inner { max-width: 1280px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 72px); }
.ccrc-footer a { color: inherit; text-decoration: none; }
.ccrc-footer a:focus-visible { outline: 3px solid #e4edbd; outline-offset: 6px; }
.ccrc-footer a:hover { color: #e4edbd; }
.ccrc-footer .ccrc-footer-signup { display: inline-flex; align-items: center; gap: 18px; margin-top: 20px; min-height: 44px; padding: 9px 17px; border: 1px solid #a8b97c; border-radius: 999px; color: #e4edbd; font-size: 12px; }
.ccrc-footer .ccrc-footer-signup:hover { background: #fafbf6; color: #183f32; }
.ccrc-footer-signup span { font-size: 18px; line-height: 1; }
.ccrc-footer-main { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; padding: 48px 0; }
.ccrc-footer-wordmark { display: inline-flex; align-items: center; gap: 18px; font-size: 38px; font-weight: 600; line-height: 1; letter-spacing: -.04em; }
.ccrc-footer-wordmark span { padding-left: 18px; border-left: 1px solid #ffffff40; font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: 0; }
.ccrc-footer-about p { margin: 22px 0 0; max-width: 330px; color: #d2ded5; font-size: 13px; }
.ccrc-footer-main h2 { margin: 0 0 16px; color: #d1dfae; font-family: inherit; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.ccrc-footer-nav a { display: table; margin: 8px 0; font-size: 13px; }
.ccrc-footer-nav a:hover, .ccrc-footer-email:hover, .ccrc-footer-support:hover { text-decoration: underline; text-underline-offset: 4px; }
.ccrc-footer-email { font-size: 13px; overflow-wrap: anywhere; }
.ccrc-footer-social { display: flex; gap: 10px; margin: 19px 0 22px; }
.ccrc-footer-social a { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid #ffffff40; border-radius: 50%; }
.ccrc-footer-social a:hover { background: #ffffff12; border-color: #e4edbd; }
.ccrc-footer-social svg { width: 17px; height: 17px; fill: currentColor; }
.ccrc-footer-support { font-size: 12px; }
.ccrc-footer-support span { margin-left: 10px; }
.ccrc-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding: 22px 0; border-top: 1px solid #ffffff26; color: #c0cfc5; font-size: 10px; }
.ccrc-footer-bottom p { margin: 0; }
@media (max-width: 900px) {
 .ccrc-footer-main { grid-template-columns: 1fr 1fr; gap: 32px; }
 .ccrc-footer-about { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
 .ccrc-footer-main { grid-template-columns: 1fr; padding: 36px 0; }
 .ccrc-footer-wordmark { font-size: 34px; gap: 14px; }
 .ccrc-footer-wordmark span { font-size: 11px; padding-left: 14px; }
 .ccrc-footer-bottom { flex-direction: column; }
}
.ccrc-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	padding: 20px clamp(20px, 4vw, 64px);
	background: #FAFBF6;
	color: #3F4548;
	border-bottom: 1px solid #D3E5EE;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
}
.ccrc-brand { flex: 0 0 auto; }
.ccrc-brand a { display: inline-block; vertical-align: middle; }
.ccrc-brand img {
	display: block;
	width: 210px;
	max-width: 100%;
	height: auto;
}
.ccrc-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem clamp(16px, 1.7vw, 28px);
	list-style: none;
	margin: 0;
	padding: 0;
}
.ccrc-menu a {
	display: inline-block;
	padding: 0.5rem 0;
	color: #3F4548;
	text-decoration: none;
	transition: color 150ms ease;
}
.ccrc-menu a:hover,
.ccrc-menu .current-menu-item > a,
.ccrc-menu .current-menu-ancestor > a { color: #398DC4; }
.ccrc-header a:focus-visible { outline: 3px solid #398DC4; outline-offset: 5px; }
.ccrc-menu a[href*="/donate-today"] {
	background: #28533D;
	color: #fff;
	padding: 12px 23px;
	border: 1px solid #28533D;
	border-radius: 999px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 3px 8px #183f3218;
	transition: background 150ms ease, box-shadow 150ms ease;
}
.ccrc-menu a[href*="/donate-today"]:hover { background: #183F32; color: #fff; box-shadow: 0 5px 12px #183f3228; }
/* Preserve the original artwork; recolor only its existing lettering. */
.ccrc-original-logo { position: relative; }
.ccrc-brand .ccrc-original-logo img { width: 248px; }
.ccrc-original-logo .ccrc-logo-ink { position: absolute; inset: 0; clip-path: inset(0 0 0 44%); filter: url(#ccrc-logo-ink); mix-blend-mode: multiply; pointer-events: none; }
@media (min-width: 1201px) {
	.ccrc-header { flex-wrap: nowrap; gap: 24px; padding-left: clamp(24px, 3vw, 48px); padding-right: clamp(24px, 3vw, 48px); }
	.ccrc-menu { flex-wrap: nowrap; gap: clamp(14px, 1.4vw, 24px); }
	.ccrc-menu > li > a { white-space: nowrap; }
	/* Enlarge the original lettering independently of the painted icon. */
	.ccrc-original-logo { width: 278px; }
	.ccrc-original-logo > img:first-child { clip-path: inset(0 56% 0 0); }
	.ccrc-original-logo .ccrc-logo-ink { transform: scale(1.20, 1.14); transform-origin: 44% 50%; }
}
.ccrc-menu-toggle { display: none; }
.ccrc-header button:focus-visible { outline: 3px solid #398DC4; outline-offset: 5px; }
@media (max-width: 1200px) {
	.ccrc-header { gap: 0; padding: 16px 24px; }
	.ccrc-header .ccrc-menu-toggle:not([hidden]) { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 48px; min-height: 48px; padding: 10px 12px; border: 1px solid #cbd8cc; border-radius: 6px; background: transparent; color: #183f32; font: inherit; cursor: pointer; }
	.ccrc-menu-toggle-icon { display: flex; flex-direction: column; gap: 5px; width: 22px; }
	.ccrc-menu-toggle-icon span { height: 2px; width: 22px; background: currentColor; transition: transform 180ms ease, opacity 180ms ease; }
	.ccrc-menu-toggle[aria-expanded="true"] .ccrc-menu-toggle-icon span:first-child { transform: translateY(7px) rotate(45deg); }
	.ccrc-menu-toggle[aria-expanded="true"] .ccrc-menu-toggle-icon span:nth-child(2) { opacity: 0; }
	.ccrc-menu-toggle[aria-expanded="true"] .ccrc-menu-toggle-icon span:last-child { transform: translateY(-7px) rotate(-45deg); }
	.ccrc-navigation { width: 100%; padding-top: 16px; margin-top: 16px; border-top: 1px solid #D3E5EE; }
	.ccrc-header.is-menu-ready .ccrc-navigation { display: none; }
	.ccrc-header.is-menu-open .ccrc-navigation { display: block; }
	.ccrc-menu { flex-direction: column; align-items: stretch; gap: 4px; }
	.ccrc-menu a { display: block; padding: 12px; border-radius: 4px; }
	.ccrc-menu a:hover { background: #edf2e7; }
	.ccrc-menu a[href*="/donate-today"] { text-align: center; margin-top: 8px; }
}
@media (max-width: 480px) {
	.ccrc-header { padding: 12px 16px; }
	.ccrc-brand .ccrc-original-logo img { width: 208px; }
	.ccrc-menu-toggle-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.ccrc-menu-toggle-icon span { transition: none; }
}

/* About navigation: keyboard-accessible dropdown and expanded mobile links. */
.ccrc-menu > .menu-item-has-children { position: relative; }
.ccrc-menu > .menu-item-has-children > a::after { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.ccrc-menu .sub-menu { list-style: none; margin: 0; padding: 10px; background: #FAFBF6; border: 1px solid #D3E5EE; border-radius: 6px; }
.ccrc-menu .sub-menu a { display: block; padding: 10px 14px; white-space: nowrap; }
.ccrc-menu .sub-menu a:hover { background: #EEF2E7; }
@media (min-width: 1201px) {
 .ccrc-menu > .menu-item-has-children > .sub-menu { position: absolute; top: 100%; left: 0; min-width: 225px; z-index: 100; visibility: hidden; opacity: 0; box-shadow: 0 12px 30px #234b4515; }
 .ccrc-menu > .menu-item-has-children:hover > .sub-menu,
 .ccrc-menu > .menu-item-has-children:focus-within > .sub-menu { visibility: visible; opacity: 1; }
}
@media (max-width: 1200px) {
 .ccrc-menu .sub-menu { margin: 0 0 8px 16px; border: 0; border-left: 2px solid #D3E5EE; border-radius: 0; background: transparent; padding: 0 0 0 8px; }
 .ccrc-menu .sub-menu a { white-space: normal; }
}
#mission-vision, #advisory-alliance, #board-of-directors { scroll-margin-top: 48px; }


/* Consistent main-page banner titles. */
.ccrc-projects-hero h1 { text-transform: uppercase; }


/* Original decorative circles for the editable Board invitation. */
.ccrc-board-banner { position: relative; overflow: hidden; isolation: isolate; }
#board-of-directors.ccrc-board-banner::after { content: ''; position: absolute; pointer-events: none; z-index: 0; width: 600px; height: 600px; right: -90px; top: 35px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' fill='none'%3E%3Cg stroke='%23bed3bd'%3E%3Ccircle cx='220' cy='250' r='165' opacity='.48'/%3E%3Ccircle cx='410' cy='365' r='180' opacity='.48'/%3E%3Ccircle cx='315' cy='490' r='110' opacity='.48'/%3E%3Cpath d='M350 22 A235 235 0 1 0 540 360' stroke-width='2' opacity='.8'/%3E%3C/g%3E%3Cg fill='%23dbe6c6'%3E%3Ccircle cx='175' cy='210' r='6'/%3E%3Ccircle cx='445' cy='195' r='6'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.ccrc-board-banner > .e-con-inner { position: relative; z-index: 1; }
@media(max-width:767px) { #board-of-directors.ccrc-board-banner::after { width: 420px; height: 420px; right: -240px; top: 100px; opacity: .22; } }



#board-of-directors.ccrc-board-banner { overflow: hidden; }


/* Footer information links and readable utility pages. */
.ccrc-footer-legal { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.ccrc-footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ccrc-footer-legal a:hover { color: #fff; }
.ccrc-footer-legal a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.ccrc-privacy-policy { max-width: 780px; margin: 0 auto; line-height: 1.8; }
.ccrc-privacy-policy h2 { margin-top: 1.6em; }
