/*
Theme Name: Kadence Child
Theme URI: https://yourwebsite.com
Description: Child theme for Kadence
Author: Your Name
Author URI: https://yourwebsite.com
Template: kadence
Version: 1.0.0
*/

/* =Theme customization starts here
------------------------------------------------------- */

/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {
}
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {
}
/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
}
/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
}
/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {
}
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {
}

/* ------------- 1. general styles ------------- */

h1, h2, h3, h4, h5, h6 {overflow-wrap: normal;}

sup {
    position: relative;
    top: -0.5em;
    font-size: 12px;
    margin-right: 2px;
}

/* Remove required text line for gravity form Asterisk: * */
p.gform_required_legend {
    display: none;
}
/* Footer */
.widget_nav_menu a:hover {
    text-decoration: underline !important;
}
.widget_pages a, .widget_nav_menu a {
    display: block;
    padding: 0.1em 0;
    text-decoration: none;
}
@media screen and (max-width: 1024px) {
    .footer-widget-area.content-tablet-align-center {
        text-align: left;
    }
}

/* Menu Navigation - dropdown Mobile */
.kadence-svg-iconset svg {
    height: 1.2em;
    width: 1.2em;
}
.site-branding a.brand {
    gap: 0;
}
/* Breadcrumbs */
.kadence-breadcrumbs {
    margin: 0em 0;
}
/* ------------- a. Gravity contact form ------------- */

.gform_wrapper ul.gform_fields li {
    list-style: none;
}
.gform_wrapper ul.gform_fields {
    padding-left: 0 !important;
}
.gform_wrapper .hidden_label label {
    display: none;
}
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper textarea,
.gform_wrapper select {
    border-radius: 0px !important;
    background-color: #fff;
    color: inherit;
    font-family: sans-serif;
    border: 0;
    padding: 10px !important;
    border: 1px solid #eeeeee;
}
.gform_wrapper.gravity-theme .gfield_label {
    display: inline-block;
    font-size: 15px;
    font-weight: normal;
    margin-bottom: 3px;
    padding: 0;
}
.gform_wrapper input[type=email]:focus {
    border: 1px solid #eeeeee;
}
.gform_wrapper input[type=text]::placeholder,
.gform_wrapper input[type=email]::placeholder,
.gform_wrapper input[type=tel]::placeholder,
.gform_wrapper textarea::placeholder,
.gform_wrapper select::placeholder {
    color: inherit;
    font-family: inherit;
}
.gform_wrapper .gform_footer {
    text-align: right;
}
.gform_wrapper input[type=submit] {
	border: 0;
    background-color: #333333;
    color: #ffffff;
    font-family: inherit;
    text-transform: uppercase;
    font-weight: inherit;
    font-size: inherit;
    transition-duration: .3s;
    border-radius: 0px;
    padding: 8px 28px;
    cursor:pointer;
}
.gform_wrapper input[type=submit]:hover {
    transition-duration: .3s;
    opacity:0.9;
}
.gform_legacy_markup_wrapper .gform_footer {
    margin: 0px 0 0;
}

/* =====================================================
   VCCR — Opportunities Accordion + Filters
   Adapted from the Comox Valley Division build.

   Save as vccr-opportunities.css in your child theme,
   OR paste the whole thing into
   Appearance → Customize → Additional CSS.

   Requires Font Awesome 6 for the icons.

   BRAND COLOURS: search for "BRAND" — there are four spots.
   ===================================================== */

.vccr-opp-wrap  { display: block; }
.vccr-opp-list  { display: grid; gap: 16px; }

.vccr-opp-heading {
	margin: 0 0 20px;
}

.vccr-opp-empty {
	padding: 24px;
	border: 1px dashed rgba(0, 0, 0, .16);
	border-radius: 14px;
	background: rgba(0, 0, 0, .02);
	margin: 0;
}

/* ---------- Listing card ---------- */

.vccr-opp {
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.vccr-opp summary {
	list-style: none;
	cursor: pointer;
	padding: 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.vccr-opp summary::-webkit-details-marker { display: none; }

/* Keyboard focus needs to be visible — the default marker is hidden. */
.vccr-opp summary:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}

.vccr-opp-summary-text { min-width: 0; }

.vccr-opp-title {
	font-size: 24px;
	letter-spacing: -1px;
	line-height: 1.2;
	font-weight: 500;
	margin: 0;
}

.vccr-opp-meta {
	margin-top: 6px;
	font-size: 14px;
	opacity: .8;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.vccr-opp-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.vccr-opp-meta-icon {
	color: currentColor;
	font-size: 1em;
	line-height: 1;
	font-weight: 900;
}

/* BRAND (1 of 4) — chevron circle */
.vccr-opp-chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	border: 1px solid #8F8980;
	background-color: #8F8980;
	color: #fff;
	flex: 0 0 auto;
	transition: background-color .2s, border-color .2s, transform .2s;
}

.vccr-opp[open] .vccr-opp-chevron { transform: rotate(90deg); }

@media (prefers-reduced-motion: reduce) {
	.vccr-opp-chevron { transition: none; }
}

/* ---------- Listing body ---------- */

.vccr-opp-body {
	border-top: 1px solid rgba(0, 0, 0, .08);
	padding: 18px;
}

.vccr-opp-intro { margin-bottom: 14px; }

.vccr-opp-kv {
	display: grid;
	gap: 10px;
	margin: 14px 0 0;
}

.vccr-opp-kv:empty { margin: 0; }

.vccr-opp-row {
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 12px;
	align-items: start;
	padding: 10px 0;
	border-top: 1px solid rgba(0, 0, 0, .06);
}

.vccr-opp-row:first-child {
	border-top: 0;
	padding-top: 0;
}

/* Stack the label above the value on small screens. */
@media (max-width: 600px) {
	.vccr-opp-row {
		grid-template-columns: 1fr;
		gap: 2px;
	}
	.vccr-opp-title { font-size: 20px; }
}

.vccr-opp-label,
.vccr-opp-section h4 {
	font-weight: 650;
	font-size: 16px;
	letter-spacing: normal;
}

.vccr-opp-section {
	margin-top: 0;
	padding: 10px 0;
	border-top: 1px solid rgba(0, 0, 0, .06);
}

.vccr-opp-section h4 { margin: 0 0 2px; }
.vccr-opp-section > *:last-child { margin-bottom: 0; }

/* ---------- Contact list ---------- */

.vccr-opp-contact-list {
	list-style: none;
	margin: 0;
	padding: 0 !important;
	display: grid;
	gap: 6px;
}

.vccr-opp-contact-list li {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	text-indent: 0 !important;
}

.vccr-opp-section .vccr-opp-contact-list {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.vccr-opp-contact-item {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: 0;
	padding-left: 0;
}

/* BRAND (2 of 4) — contact icon accent */
.vccr-opp-contact-icon {
	width: 16px;
	text-align: center;
	line-height: 1;
	color: #3182CE;
	font-size: 14px;
	flex: 0 0 auto;
}

.vccr-opp-contact-item a {
	margin: 0 0 0 2px;
	padding: 0;
	word-break: break-word;
	text-decoration: none;
}

/* ---------- Filters sidebar ---------- */

.vccr-opp-filters {
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 14px;
	padding: 18px;
	background: #fff;
}

.vccr-opp-filters-title {
	margin: 0 0 10px;
	font-size: 28px;
	letter-spacing: -1px;
}

.vccr-opp-filter-block { margin-top: 18px; }

.vccr-opp-filter-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .75;
	margin-bottom: 10px;
}

.vccr-opp-filter-list { display: grid; gap: 12px; }

/* Empty filter group — hide the whole block rather than show a bare heading. */
.vccr-opp-filter-list:empty { display: none; }

.vccr-opp-check {
	display: flex;
	gap: 12px;
	align-items: center;
	font-size: 16px;
	cursor: pointer;
}

.vccr-opp-check input {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}

.vccr-opp-select {
	width: 100%;
	padding: 12px;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, .14);
	background: #fff;
	font-size: 16px;
}

.vccr-opp-count {
	margin: 18px 0 0;
	font-size: 14px;
	opacity: .7;
}

/* BRAND (3 of 4) — reset button */
.vccr-opp-reset {
	margin-top: 10px;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid #8F8980;
	background: transparent;
	color: inherit;
	font-size: 14px;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}

/* BRAND (4 of 4) — reset button hover */
.vccr-opp-reset:hover,
.vccr-opp-reset:focus-visible {
	background: #8F8980;
	color: #fff;
}

/* ---------- Visibility ---------- */

.vccr-opp.is-hidden      { display: none !important; }
.vccr-opp-wrap.is-hidden { display: none !important; }
.vccr-opp-section-hidden { display: none !important; }
.vccr-opp-section + .vccr-opp-section { padding-top: 24px; }