/*
Theme Name:   Neve FSE Child
Theme URI:
Description:
Author:       Ashley
Author URI:   https://www.navari.com/
Template:     neve-fse
Version:      1.0.11
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* == Add your own styles below this line ==
--------------------------------------------*/

/*
 * Prevent horizontal page scroll (off-canvas nav / 100vw full-bleeds) while
 * still allowing edge-to-edge sections. Prefer clip so position:sticky works.
 */
html {
	overflow-x: hidden;
}

@supports (overflow: clip) {
	html {
		overflow-x: clip;
	}
}

.text-dark {color:#212529;}
p.lead {font-size:1.3rem;}

.metropolis {
	font-family: Metropolis, sans-serif;
}
/*
 * Footer separator: Neve FSE uses a long .alignfull !important margin rule.
 * Match/exceed that specificity so child margins stick.
 */
.wp-site-blocks .wp-block-separator.alignfull.footer-separator,
.wp-site-blocks > .wp-block-template-part .wp-block-separator.alignfull.footer-separator,
footer .wp-block-separator.alignfull.footer-separator {
	margin-left: 0 !important;
	margin-right: 0 !important;
	height: 10px !important;
}
.line-after li:after { content: '';
    width: 1px;
    background-color: #fff;
    height: 16px;
    display: block;
    color: #fff;
    margin-left: 15px;
    margin-right: 15px;}
.line-after li:last-child:after {display: none;}
.footer-links p a {padding-bottom:5px;}
.footer-links p a, .orange-underline {border-bottom: 2px solid var(--bf-nav-accent-color, #ff8400); text-decoration:none;}

/*
 * Footer links (Otter Advanced Columns, .footer-links).
 * Otter tablet range is 600–959px; desktop kicks in at 960px.
 * Tablet: 2 columns, last column (Routing Number) spans full width.
 */
@media (min-width: 600px) and (max-width: 959px) {
	.footer-links.wp-block-themeisle-blocks-advanced-columns > .innerblocks-wrap {
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.footer-links.wp-block-themeisle-blocks-advanced-columns > .innerblocks-wrap > .wp-block-themeisle-blocks-advanced-column {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}

	.footer-links.wp-block-themeisle-blocks-advanced-columns > .innerblocks-wrap > .wp-block-themeisle-blocks-advanced-column:last-child {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}

/*
 * Desktop-only fixed height (Additional CSS class).
 * desktop-h-800: height 800px at ≥960px; height auto below that.
 */
.desktop-h-800 {
	height: auto;
}

@media (min-width: 960px) {
	.desktop-h-800 {
		height: 800px;
	}

	.d-none-desktop {
		display: none !important;
	}
}

/*
 * Tablet and below: orange background (#f68521).
 */
@media (max-width: 959px) {
	.bg-tablet-orange {
		background-color: #f68521 !important;
	}
}

/*
 * Remove background image on tablet and below (≤959px).
 */
@media (max-width: 959px) {
	.remove-bg-img-tablet {
		background-image: none !important;
	}
}

/*
 * WordPress "Hide on desktop" (wp-block-hidden-desktop) starts at >782px.
 * That also hides blocks in the 783–959 Otter/tablet-wide range.
 * Use .show-to-959 (or the craftsman image override) to keep them visible there.
 */
@media (min-width: 783px) and (max-width: 959px) {
	.wp-block-hidden-desktop.show-to-959,
	.wp-block-image.wp-block-hidden-desktop:has(.wp-image-57272700) {
		display: block !important;
	}

	.wp-block-image.aligncenter.wp-block-hidden-desktop.show-to-959,
	.wp-block-image.aligncenter.wp-block-hidden-desktop:has(.wp-image-57272700) {
		display: table !important;
		margin-left: auto;
		margin-right: auto;
	}
}

/*
 * Responsive center utilities (Additional CSS class on Groups / Columns / rows).
 * tablet-center: tablet + mobile (≤959px)
 * mobile-center: phones only (≤781px, WordPress mobile breakpoint)
 */
@media (max-width: 959px) {
	.tablet-center,
	.tablet-center.is-layout-flex,
	.tablet-center.is-layout-grid,
	.tablet-center.wp-block-columns,
	.tablet-center.wp-block-group {
		text-align: center !important;
		justify-content: center !important;
		justify-items: center !important;
		align-items: center !important;
	}

	.tablet-center .wp-block-button,
	.tablet-center .wp-block-buttons {
		justify-content: center !important;
	}
}

@media (max-width: 781px) {
	.mobile-center,
	.mobile-center.is-layout-flex,
	.mobile-center.is-layout-grid,
	.mobile-center.wp-block-columns,
	.mobile-center.wp-block-group {
		text-align: center !important;
		justify-content: center !important;
		justify-items: center !important;
		align-items: center !important;
	}

	.mobile-center .wp-block-button,
	.mobile-center .wp-block-buttons {
		justify-content: center !important;
	}
}

/*
 * Triangle bullets (Additional CSS class on a ul / List block).
 */
ul.triangle-list {
	list-style: none;
	padding-left: 1.25em;
	margin-left: 0;

}

ul.triangle-list > li {
	position: relative;
	line-height:1.5;
}

ul.triangle-list > li::before {
	content: "";
	border-color: transparent #111;
	border-style: solid;
	border-width: 0.35em 0 0.35em 0.45em;
	display: block;
	height: 0;
	width: 0;
	left: -1em;
	top: 1em;
	position: relative;
}
.align-icons-top.wp-block-themeisle-blocks-icon-list .wp-block-themeisle-blocks-icon-list-item {
	align-items:flex-start;
}
.align-icons-top.wp-block-themeisle-blocks-icon-list .wp-block-themeisle-blocks-icon-list-item i, .align-icons-top.wp-block-themeisle-blocks-icon-list .wp-block-themeisle-blocks-icon-list-item img {
	margin-top:6px;
}

/*
 * Feather / stroke SVGs: Icon blocks often set fill:currentColor, which
 * paints closed shapes solid. Keep Feather icons as outlines.
 */
.wp-block-outermost-icon-block svg.feather,
.wp-block-outermost-icon-block svg.feather *,
.wp-block-themeisle-blocks-font-awesome-icons svg.feather,
.wp-block-themeisle-blocks-font-awesome-icons svg.feather *,
svg.feather,
svg.feather * {
	fill: none !important;
}

.wp-block-outermost-icon-block svg.feather,
.wp-block-themeisle-blocks-font-awesome-icons svg.feather,
svg.feather {
	stroke: currentColor;
}

.wp-element-button { display:flex; align-items:center;}
.wp-element-button > img {margin-right:8px;}

@media (max-width: 959px) {
.tablet-font-20 {font-size: 20px !important;}
.tablet-font-40 {font-size: 40px !important;}
.right-tablet {text-align: right !important; justify-content:flex-end !important;}
.center-tablet {text-align: center !important; justify-content:center !important;}
.left-tablet {text-align: left !important; justify-content:flex-start !important;}
}
.is-content-justification-center > .wp-block-button__width-100 > .wp-block-button__link {justify-content:center !important;}

@media (max-width:781px) {
	.wrap-left-mobile {text-align:left !important; align-items:flex-start !important; flex-direction:column;}
	.wrap-right-mobile {text-align:right !important; align-items:flex-end !important; flex-direction:column;}
	.wrap-center-mobile {text-align:center !important; align-items:center !important; flex-direction:column;}
}

/*
 * Neve FSE forces button padding to 16px 20px below 481px.
 * Restore the FSE default (8px 34px). Per-button inline padding still wins.
 */
@media (max-width: 481px) {
	body .wp-block-button .wp-block-button__link,
	body .wp-block-button .wp-block-button__link.is-style-outline,
	body .wp-block-button.is-style-outline > .wp-block-button__link {
		padding: 8px 34px;
	}
}

.bf-feature-header p {margin-top:0;}
.bf-feature-header h2 {
	font-size:24px; margin-bottom:0;
}
.bf-feature-header h1 {margin-top:0;}
@media screen and (max-width: 781px) {
    .bf-feature-header h1 {
        font-size: 2rem !important;
        line-height: 1.2;
        text-wrap: balance;
    }
}

/*
 * Equal-height cards in a Query Loop / Post Template grid.
 *
 * Add:
 *   equal-height-cards  → Post Template (the grid of all cards)
 *   equal-height-card   → Product Cards (Otter columns wrapper for one card)
 *                         AND the Section Column that has the orange border
 *
 * Cards stretch to the tallest in the row; content stays top-aligned.
 */
.equal-height-cards.wp-block-post-template,
.wp-block-post-template.equal-height-cards {
	align-items: stretch !important;
}

/*
 * Grid already stretches each <li>; make the post a flex column so children
 * can grow with flex:1 (height:100% is unreliable on grid items).
 */
.equal-height-cards > .wp-block-post {
	display: flex !important;
	flex-direction: column;
	align-self: stretch;
	height: auto !important;
	min-height: 0;
}

.equal-height-cards > .wp-block-post > .wp-block-group {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
}

/* Product Cards (Otter Advanced Columns) */
.equal-height-cards .equal-height-card.wp-block-themeisle-blocks-advanced-columns,
.equal-height-cards .wp-block-themeisle-blocks-advanced-columns.equal-height-card,
.equal-height-cards > .wp-block-post > .wp-block-group > .wp-block-themeisle-blocks-advanced-columns {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0;
	align-self: stretch;
}

.equal-height-cards .equal-height-card.wp-block-themeisle-blocks-advanced-columns > .innerblocks-wrap,
.equal-height-cards .wp-block-themeisle-blocks-advanced-columns.equal-height-card > .innerblocks-wrap,
.equal-height-cards > .wp-block-post > .wp-block-group > .wp-block-themeisle-blocks-advanced-columns > .innerblocks-wrap {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0;
}

/* Section Column with orange border */
.equal-height-cards .equal-height-card.wp-block-themeisle-blocks-advanced-column,
.equal-height-cards .wp-block-themeisle-blocks-advanced-column.equal-height-card {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start;
	align-items: stretch !important;
	flex: 1 1 auto !important;
	align-self: stretch !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0;
	box-sizing: border-box;
}

.equal-height-cards .equal-height-card.wp-block-themeisle-blocks-advanced-column > .wp-block-themeisle-blocks-advanced-columns,
.equal-height-cards .wp-block-themeisle-blocks-advanced-column.equal-height-card > .wp-block-themeisle-blocks-advanced-columns {
	width: 100%;
	flex: 0 0 auto; /* inner content stays top; don't force it to fill */
}

.single-post hr.wp-block-separator {
	width: 100% !important; 
    color: #ccc !important;
}
.wp-block-themeisle-blocks-accordion-item__title {padding-left:0; padding-right:0;}
.wp-block-themeisle-blocks-accordion-item__content {padding-top:0 !important; padding-left:0; padding-right:0;}
.wp-block-themeisle-blocks-accordion.is-style-default>.wp-block-themeisle-blocks-accordion-item:first-child>.wp-block-themeisle-blocks-accordion-item__title {border-top:0;}
/* Otter Accordion: custom plus / minus icons */
.wp-block-themeisle-blocks-accordion-item > .wp-block-themeisle-blocks-accordion-item__title::after {
	content: "" !important;
	display: block !important;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: none !important;
	transition: none !important;
}

.wp-block-themeisle-blocks-accordion-item:not([open]) > .wp-block-themeisle-blocks-accordion-item__title::after {
	background-image: url("https://bayfirst.inetsolution.dev/wp-content/uploads/2026/07/plus-icon.png");
}

.wp-block-themeisle-blocks-accordion-item[open] > .wp-block-themeisle-blocks-accordion-item__title::after {
	background-image: url("https://bayfirst.inetsolution.dev/wp-content/uploads/2026/07/minus-icon.png");
}
