/* ==========================================================================
	THEME SYSTEM – GLOBAL STYLES & UTILITIES
	--------------------------------------------------------------------------
	This file contains all shared theme-level CSS systems.
	Token values live within the Theme Options Plugin. Structural rules live here.
	==========================================================================

	TABLE OF CONTENTS
	--------------------------------------------------------------------------
	1. Top Bar
	2. Side Menu / Mobile Menu
 	3. Top Navigation (Desktop Menu)
 	4. Header Layout & Buttons
 	5. Global Text Styles (Body, Headings, Links)
 	6. Text Color Utilities
 	7. Font Family Utilities
 	8. Font Weight Utilities
 	9. Internal Page & Main Blog Page
	10. Our Team Page
	11. Links Page
	12. Single Blog Post
	13. Search Page
	14. Footer Layout & Typography
	15. Forminator Typography
	16. Global Button System
		16.1 Base Button Styles
		16.2 Primary Button
		16.3 Primary Icon Buttons
		16.4 Secondary Button
		16.5 Secondary Icon Buttons
	17. Keyboard Accessibility / Focus States
	18. Global Accordion System
		18.1 Primary Accordion
		18.2 Secondary Accordion
	19.	Image Gallery Styles
	20. Background Utility Classes
		20.1 Solid Backgrounds
		20.2 Fade Gradients
	21. Border Radius Utilities
	22. Shadow Utilities
	23. Border Utilities
	24. FOUC Prevention Override
	25. Utility Override & Helpers
	--------------------------------------------------------------------------

	NOTES
	--------------------------------------------------------------------------
	• This file defines HOW the theme behaves.
	• Color, spacing, and typography values are controlled via Theme Options plugin.
	• Coordinate changes with the theme options panel when applicable.
========================================================================== */

/* ======================================================
   1. TOP BAR
====================================================== */
#top-bar, #top-bar-mobile, #top-bar-widget, #top-bar-mobile-widget {
    z-index: 999999;
    width: 100%;
}

#top-bar, #top-bar-mobile {
    position: fixed;
    top: 0;
    z-index: 999999;
    width: 100%;
		max-width: 1920px;
}

#top-bar-wrapper {
	display: flex;
	flex-wrap: wrap;
	padding: 8px;
	row-gap: 0;
	column-gap: 20px;
	width: 1920px;
	max-width: 100%;
	justify-content: center;
	background-color: var(--topbar-bg-color);
	color: var(--topbar-text-color);
	font-family: var(--font-body);
	margin-left: auto;
	margin-right: auto;
}

#top-bar-wrapper a {
	color: var(--topbar-link-color);
	font-size: 16px;
}

#top-bar-wrapper a:hover {
	color: var(--topbar-link-hover-color);
}

#top-bar-wrapper p {
	margin: 0;
	font-size: 16px;
	font-weight: normal;
    color: var(--topbar-text-color);
}

#top-bar-wrapper strong {
	font-weight: 500;
}

#top-bar-wrapper div.wp-block-wpzoom-blocks-social-icons {
	top: -1px;
	left: 3px;
}

#top-bar-wrapper > div {
	display: flex;
	align-items: center;
}

#top-bar-wrapper #visit-us-wrapper span {
	padding: 0;
	margin: 0;
	font-size: 25px;
	padding-top: 3px;
}

#top-bar-wrapper #call-us-wrapper span {
	padding: 0;
	margin: 0;
	margin-right: 5px;
	padding-top: 2px;
	font-size: 20px;
}

#top-bar-wrapper #follow-us-wrapper span {
	padding: 0;
	margin: 0;
	margin-right: 5px;
	padding-top: 0px;
	padding-left: 2px;
	padding-right: 2px;
	font-size: 16px;
}

#top-bar-wrapper #rate-us-wrapper span {
	padding: 0;
	margin: 0;
	margin-right: 5px;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	font-size: 16px;
}

/* Top Bar - Mobile Adjustments */
@media (max-width: 767px) {
    #top-bar-wrapper #rate-us-wrapper span {
        margin-right: 0px;
    }
		
		#top-bar-wrapper #follow-us-wrapper span {
    margin-right: 0px;
    font-size: 14px;
	}
}

@media (max-width: 600px) {
	#top-bar-wrapper #visit-us-wrapper #business-address,
	#top-bar-wrapper #visit-us-wrapper #business-address > strong {
		font-size: 0;
	}

	#top-bar-wrapper #visit-us-wrapper #business-address > strong:before {
		content: "Visit Us\a ";
		font-family: var(--font-body);
		font-size: 16px;
		white-space: pre;
	}
	
	#top-bar-wrapper #call-us-wrapper #call-us-text > strong,
	#top-bar-wrapper #call-us-wrapper #phone-number {
		font-size: 0;
	}

	#top-bar-wrapper #call-us-wrapper #call-us-text > strong:after {
		content: "Call Us\a ";
		font-family: var(--font-body);
		font-size: 16px;
	}
	
	#top-bar-wrapper #header-buttons #visit-store-button > span.kt-btn-inner-text {
		font-size: 0;
	}

	#top-bar-wrapper #header-buttons #visit-store-button > span.kt-btn-inner-text:before {
		content: "Visit Store\a ";
		font-family: var(--font-body);
		font-size: 18px;
		white-space: pre;
	}
}

@media (max-width: 500px) {
	#top-bar-wrapper {
		column-gap: 10px;
	}
	
/*	#top-bar-wrapper > #visit-us-wrapper {
		order: 1;
	}
	
	#top-bar-wrapper > div:nth-of-type(2) {
		order: 2;
	}
	
	#top-bar-wrapper > #follow-us-wrapper {
		order: 3;
	}
	
	#top-bar-wrapper > div:nth-of-type(4) > p {
		display: none;
	}
	
	#top-bar-wrapper > div:nth-of-type(4) {
		white-space: pre;
		order: 4;
	}
	
	#top-bar-wrapper > #rate-us-wrapper {
		order: 5;
	}
		
	#top-bar-wrapper > div:nth-of-type(6) {
		order: 6;
	}
	
	#top-bar-wrapper > #call-us-wrapper {
		order: 7;
	} */
}

/* ======================================================
   2. SIDE MENU / MOBILE MENU
====================================================== */
/* Mobile Header - Hamburger visibility and positioning at 1024px breakpoint */
@media (max-width: 1024px) {
  /* Position hamburger so it doesn't affect header height/spacer */
  #hamburger-menu {
    display: block !important;
    position: fixed !important;
    left: 20px !important;
    top: 105px !important;
    z-index: 999999 !important;
  }
}

@media (max-width: 349px) {
  #hamburger-menu {
    top: 135px !important;
}
}

/* Hide hamburger and mobile menu above 1024px */
@media (min-width: 1025px) {
  #hamburger-menu {
    display: none !important;
  }
  
  #mobile-menu-column {
    display: none !important;
  }
}

#mobile-menu-column #mobile-menu a {
	color: var(--nav-side-link) !important;
}
	
#mobile-menu-column #mobile-menu a:hover, #mobile-menu-column #mobile-menu a:active {
  color: var(--nav-side-link-hover) !important;
}
	
#mobile-menu-column #mobile-menu li.level0.menu-item.current-menu-item > a,
#mobile-menu-column #mobile-menu li.level0.menu-item.current-ancestor.has-child > a,
#mobile-menu-column #mobile-menu li.level0.menu-item.current-parent.has-child > a {
  color: var(--nav-side-link-active)!important;
}
	
#mobile-menu-column #mobile-menu li.level1.menu-item.current > a {
	color: var(--nav-side-link-active)!important;
}
	
#mobile-menu-column #mobile-menu li.has-child > a:after {
  color: currentColor!important;
}

#mobile-menu-column #mobile-menu li.has-child.open > a:after {
  color: currentColor!important;
}

@media only screen and (max-width: 500px) {
  #mobile-menu-column #mobile-menu li.has-child > a:after {
      color: currentColor!important;
  }
  #mobile-menu-column #mobile-menu li.has-child.open > a:after {
    color: currentColor!important;
  }
}

/* ======================================================
   3. TOP NAVIGATION (DESKTOP MENU)
====================================================== */
#top-menu-widget ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
		gap: 10px;
    padding-left: 0;
		list-style: none;
}

#top-menu-widget ul.menu li {
    display: block;
    cursor: pointer;
		padding: 8px 10px;
}

#top-menu-widget ul.menu li a {
		text-decoration: none;
		color: var(--nav-top-link);
}

#top-menu-widget ul.menu li a:hover, #top-menu-widget ul.menu li a:hover {
    text-decoration: none;
    color: var(--nav-top-link-hover);
}

#top-menu-widget ul.menu li.level0 {
    position: relative;
    text-align: left;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.2;
}

#top-menu-widget ul.menu li.level0.current, #top-menu-widget ul.menu li.level0.current-ancestor, #top-menu-widget ul.menu li.level0.current-parent {
		background-color: var(--color-accent-1);
		border-radius: 8px;
}

#top-menu-widget ul.menu li.level0:hover:not(.current),
#top-menu-widget ul.menu li.has-child ul li:hover {
		background-color: var(--color-accent-1);
}

#top-menu-widget ul.menu li.level0:hover,
#top-menu-widget ul.menu li.level0.active {
		border-radius: 8px;
}

#top-menu-widget ul.menu li.level0.menu-item.current-menu-item > a,
#top-menu-widget ul.menu li.level0.menu-item.current-ancestor.has-child > a,
#top-menu-widget ul.menu li.level0.menu-item.current-parent.has-child > a {
    text-decoration: none;
    color: var(--nav-top-link-active);
}

#top-menu-widget ul.menu li.has-child ul li.level1.menu-item.current > a, #top-menu-widget ul.menu li.has-child ul li.level1.menu-item.active > a {
    text-decoration: underline;
    color: var(--nav-top-link-active);
}

#top-menu-widget ul.menu li.menu-item.has-child {
    padding-right: 25px;
}

#top-menu-widget ul.menu li.has-child > a::after {
    display: inline-block;
    font-family: 'icomoon';
    font-size: 23px;
    content: "";
    position: absolute;
    right: -20px;
    top: 0px;
    color: currentcolor;
}

#top-menu-widget ul.menu li.level0.has-child:hover > a::after,
#top-menu-widget ul.menu li:not(.level0).has-child.open > a::after {
    content: "";
}

#top-menu-widget ul.menu li.has-child > ul.sub-menu {
    display: none;
}

#top-menu-widget ul.menu li.level0.has-child > ul.level1 {
    -webkit-transition: all .33s ease-in-out;
    -o-transition: all .33s ease-in-out;
    transition: all .33s ease-in-out;
		padding-left: 10px;
}

#top-menu-widget ul.menu li.level0.has-child:hover > ul.level1 {
    position: absolute;
    display: block;
    margin-top: 5px;
}

#top-menu-widget ul.menu li.has-child ul li {
		z-index: 999995;
    padding: 10px 18px;
		white-space: nowrap;
    background-color: var(--nav-dropdown-bg);
}

#top-menu-widget ul.menu li.has-child ul li a {
	font-size: 16px;
}

@media only screen and (max-width: 1180px) {
		#top-menu-widget ul.menu li a {
			font-size: 16px;
		}

		#top-menu-widget ul.menu li.has-child > a::after {
			top: -3px;
		}
}

/* ======================================================
   4. HEADER LAYOUT & BUTTONS
====================================================== */
/* Header Structure */
#header-logo {
	margin: 0;
}

#header-wrap {
    width: 100%;
    position: fixed;
    z-index: 999998;
		padding-left: 20px;
		padding-right: 20px;
		left: 0;
		right: 0;
		top: 0;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.20);
    -moz-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.20);
    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.20);
}

@media (min-width: 1920px) {
#header-wrap {
		left: unset;
		right: unset;
}
}

#header-wrap.scrolling {
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.20);
    -moz-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.20);
    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.20);
}

body.desktop #header-wrap {
    width: 100%;
    max-width: 1920px;
		margin-left: auto;
		margin-right: auto;
		justify-content: center;
		background: var(--bg-header);
}

body.mobile #header-wrap {
		background: var(--bg-header);
}

#header-1 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    max-width: 1280px;
    width: 100%;
    gap: 40px;
}

#header-1 #top-menu-widget {
	display: flex;
	align-items: center;
}

#main-menu-container {
	align-self: center;
}

#wrapper #content-column {
    margin-top: -1px;
}

/* Base logo sizing */
#header-logo-widget img {
    width: var(--logo-width-desktop);
    height: auto;
    filter: none;
    margin-top: 0px;
}

/* Tablet */
@media (max-width: 1024px) {
    #header-logo-widget img {
        width: var(--logo-width-tablet);
    }
}

/* Mobile layout + size */
@media (max-width: 767px) {
    #header-logo-widget img {
        width: var(--logo-width-mobile);
    }
}

/* Header Buttons */
#header-buttons {
	flex-direction: column;
}

#header-buttons span.kb-button {
	width: 250px;
}

body #header-wrap #header-buttons-widget #header-buttons-social-icons-container {
	display: none;
}

/* Open/Closed Status Display */
#open,
#closed {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	height: 45px;
	width: 115px;
	margin-bottom: 3px;
}

#open {
	background-image: url(/wp-content/uploads/2026/01/open3.webp);
}

#closed {
	background-image: url(/wp-content/uploads/2026/01/closed3.webp);
}

#until,
#see-hours {
	text-align: center;
}

#open-closed-message-wrapper {
	display: flex;
	justify-content: center;
	font-size: 18px;
	padding-bottom: 10px;
	margin-top: 15px;
}

#open-closed-message-wrapper span {
	padding: 5px;
	border: 1px solid gray;
}

#open-closed-message-wrapper span.open {
	background-color: lightskyblue;
}

#open-closed-message-wrapper span.closed {
	background-color: gainsboro;
}

/* Header - Responsive */
@media only screen and (max-width: 1180px) {
    #header-buttons-widget {
        max-width: 200px;
    }
    
    #header-1 {
        gap: 0px;
    }
}

@media (max-width: 1024px) {
    #header-buttons-widget {
        max-width: 260px;
    }
		
	#header-buttons-widget .btn, #header-buttons-widget a.kt-button.btn, #header-buttons-widget .wp-block-button__link.btn {
        padding: 10px 18px;
				font-size: 15px;
	}
		
    #header-1 {
        gap: 20px;
        justify-content: right;
    }
		
    #header-wrap {
        padding: 0px 20px;
				justify-content: right;
				height: 135px;
    }
		
    body.desktop #header-logo-widget, #header-1-mobile {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
		
		#were-open-widget {
				display: none !important;
		}
		
  #top-menu-widget {
    display: none !important;
  }
}

@media (max-width: 767px) {
	#header-buttons-widget #header-buttons span.kb-button {
		width: 160px;
	}
	
	#header-buttons-widget #header-buttons #req-appt-button > span.kt-btn-inner-text {
		font-size: 0;
	}

	#header-buttons-widget #header-buttons #req-appt-button > span.kt-btn-inner-text:before {
		content: "Request Appt\a ";
		font-family: var(--font-body);
		font-size: 18px;
		white-space: pre;
	}
	
	#header-buttons-widget #header-buttons #visit-store-button > span.kt-btn-inner-text {
		font-size: 0;
	}

	#header-buttons-widget #header-buttons #visit-store-button > span.kt-btn-inner-text:before {
		content: "Visit Store\a ";
		font-family: var(--font-body);
		font-size: 18px;
		white-space: pre;
	}
		
	body #header-wrap #header-buttons-widget #header-buttons-container {
			display: none!important;
	}
		
	body #header-wrap #header-buttons-widget #header-buttons-social-icons-container {
			display: block!important;
	}
}

@media (max-width: 600px) {
	#content-column #header-wrap #header-1,
	#content-column #header-wrap #header-1-mobile {
		order: 1;
	}
	
	#content-column #header-wrap #header-2,
	#content-column #header-wrap #header-2-mobile {
		width: 55px;
		height: 100px;
		order: 0;
	}
	
	#content-column #header-wrap #header-3,
	#content-column #header-wrap #header-3-mobile {
		order: 2;
	}
	
	#content-column #header-wrap #header-2 #top-menu-widget div.menu-main-container,
	#content-column #header-wrap #header-2-mobile #top-menu-widget div.menu-main-container {
		display: none;
	}
	
	#content-column #header-wrap #header-2 #top-menu-widget div.menu-main-container,
	#content-column #header-wrap #header-3-mobile #header-buttons-widget #header-buttons-container,
	#content-column #header-wrap #header-2-mobile #top-menu-widget div.menu-main-container {
		display: none;
	}
}

/* ======================================================
   5. GLOBAL TEXT STYLES
====================================================== */
body {
	font-family: var(--font-body);
	color: var(--text-body-color);
}

p, li:not(.wp-social-link) {
	color: var(--text-body-color);
	font-family: var(--font-body)!important;
	font-size: 18px;
}

h1, h2 {
	color: var(--heading-color);
	font-family: var(--heading-font);
}

h3, h4, h5, h6 {
	color: var(--color-primary);
	font-family: var(--heading-font);
}

h1 { font-weight: var(--h1-weight); }
h2 { font-weight: var(--h2-weight); }
h3 { font-weight: var(--h3-weight); }
h4 { font-weight: var(--h4-weight); }
h5 { font-weight: var(--h5-weight); }
h6 { font-weight: var(--h6-weight); }

a:not(.kb-gallery-item-link) {
	color: var(--link-color);
	text-decoration: underline;
	transition: color .2s ease;
}

a:not(.kb-gallery-item-link):hover {
	color: var(--link-hover-color);
	text-decoration: underline;
	transition: color .2s ease;
}

a:not(.kb-gallery-item-link):focus-visible {
	color: var(--link-focus-color);
	text-decoration: underline;
	transition: color .2s ease;
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* ======================================================
   6. TEXT COLOR UTILITIES
====================================================== */
.text-black, .text-black p, .text-black a {
	color: var(--color-black) !important;
}

.text-white, .text-white p, .text-white a {
	color: var(--color-white) !important;
}
	
.text-muted, .text-muted p, .text-muted a {
	color: var(--text-muted-color) !important;
}

.text-primary, .text-primary p, .text-primary a {
	color: var(--color-primary) !important;
}

.text-secondary, .text-secondary p, .text-secondary a {
	color: var(--color-secondary) !important;
}

.text-tertiary, .text-tertiary p, .text-tertiary a {
	color: var(--color-tertiary) !important;
}

.text-accent-1, .text-accent-1 p, .text-accent-1 a {
	color: var(--color-accent-1) !important;
}

.text-accent-2, .text-accent-2 p, .text-accent-2 a {
	color: var(--color-accent-2) !important;
}

/* ======================================================
   7. FONT FAMILY UTILITIES
====================================================== */
.font-body {
	font-family: var(--font-body) !important;
}

.font-heading {
	font-family: var(--font-heading) !important;
}

/* ======================================================
   8. FONT WEIGHT UTILITIES
====================================================== */
.font-light {
	font-weight: var(--font-weight-light) !important;
}

.font-regular {
	font-weight: var(--font-weight-regular) !important;
}

.font-medium {
	font-weight: var(--font-weight-medium) !important;
}

.font-semibold {
	font-weight: var(--font-weight-semibold) !important;
}

.font-bold {
	font-weight: var(--font-weight-bold) !important;
}

.font-extrabold {
	font-weight: var(--font-weight-extrabold) !important;
}
	
/* ======================================================
   9. INTERNAL PAGE & MAIN BLOG PAGE
====================================================== */
#wrapper #content-column #content-wrap #content-header {
		background-position: top left;
}

body.page-template-template-page-with-sidebar #wrapper #content-column #content-wrap #content-header {
		width: 100vw;
		position: relative;
		left: 50%;
		right: 50%;
		margin-left: -50vw;
		margin-right: -50vw;
}

@media (max-width: 1560px) {
    #wrapper #content-column #content-wrap #content-header {
        height: 22vw;
    }
}

@media (max-width: 1024px) {
    #wrapper #content-column #content-wrap #content-header {
        height: 35vw;
        background-position: 20% 50%;
    }
}

@media (max-width: 767px) {
    #wrapper #content-column #content-wrap #content-header {
        height: 60vw;
        background-position: 8% 50%;
    }
}

#wrapper #content-column #content-wrap #content-header #content-title {
	text-transform: none;
	font-size: clamp(32px, 5vw, 50px);
	letter-spacing: normal;
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
	margin: 0;
}

.page-hero-subtext {
	font-size: clamp(18px, 2vw, 20px);
	margin: 0;
}

.page-copy h2 {
	color: var(--page-heading-color);
	font-size: var(--page-h2-size);
	font-weight: var(--page-heading-weight);
}

.page-copy h3 {
	font-size: var(--page-h3-size);
	font-weight: var(--page-heading-weight);
}

.page-copy h4 {
	font-size: var(--page-h4-size);
}
	
.page-sidebar h2.sidebar-heading,
.page-sidebar h3.sidebar-heading {
  	font-size: var(--page-h3-size);
  	font-weight: var(--page-heading-weight);
}
	
h2.contact-heading, h3.contact-heading {
  	font-size: var(--page-h3-size);
  	font-weight: var(--page-heading-weight);
}

body.page-template-template-page-with-sidebar #wrapper #content-column #content-wrap {
		width: 100%;
		max-width: none;
}

body.page-template-template-page-with-sidebar #wrapper #content-column #content {
    display: flex !important;
    flex-direction: row;
    gap: 40px;
    padding: 40px 20px;
    max-width: 1240px;
		margin-left: auto;
		margin-right: auto;
    width: 100% !important;
    box-sizing: border-box !important; 
}

body.page-template-template-page-with-sidebar #wrapper #content-column #content #content-inner {
    flex: 1 1 auto;
    width: auto !important;
    max-width: 825px !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#page-sidebar {
    flex: 0 0 345px;
    width: 345px !important;
    min-width: 0 !important;
    max-width: 345px !important;
    margin-top: 0px !important;
    padding: 0;
}

@media (max-width: 1024px) {
body.page-template-template-page-with-sidebar #wrapper #content-column #content {
    gap: 20px;
		padding: 20px 20px;
}

    #page-sidebar {
        max-width: 35% !important;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    body.page-template-template-page-with-sidebar #wrapper #content-column #content {
        flex-wrap: wrap;
        flex-direction: column;
    }
    
    #page-sidebar {
        flex: 1 1 auto;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* ======================================================
   10. OUR TEAM PAGE
====================================================== */
body #wrapper #content-column #content div.our-team-item-wrapper {
    max-width: 1240px;
    width: 100%;
    margin: 0 auto;
    padding: 20px 20px;
    box-sizing: border-box;
    margin-bottom: 40px;
}

body #wrapper #content-column #content div.our-team-item-wrapper div.our-team-item-name {
    font-weight: var(--font-weight-bold);
    color: var(--page-heading-color);
    margin-top: 0;
    margin-bottom: 20px;
}

body #wrapper #content-column #content div.our-team-item-wrapper img.our-team-picture {
    width: 300px;
    height: 300px;
    border-radius: var(--radius-image);
    filter: var(--shadow-soft);
}

body #wrapper #content-column #content div.our-team-item-wrapper div.our-team-item-title {
    font-weight: var(--font-weight-semibold);
		font-size: 20px;
}

body #wrapper #content-column #content div.our-team-item-wrapper div.our-team-item-description {
    line-height: 1.5;
}

@media (max-width: 767px) {
		body #wrapper #content-column #content div.our-team-item-wrapper {
    max-width: 100%;
    width: 100%;
    margin-bottom: 60px;
    flex-direction: column;
    row-gap: 30px;
	}

		body #wrapper #content-column #content div.our-team-item-wrapper img.our-team-picture {
    margin: 0 auto;
	}
}

/* ======================================================
   11. LINKS PAGE
====================================================== */
body.page-template-template-links #page-sidebar {
		display: none!important;
}

body.page-template-template-links #wrapper #content-column #content #content-inner {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    width: 1200px;
    min-width: 400px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 40px!important;
    padding-bottom: 60px;
    margin-left: auto;
    margin-right: auto;
		row-gap: 40px!important;
}

body.page-template-template-links #wrapper #content-column #content-wrap #content #content-inner div.link-item-wrapper img.links-picture {
    border-radius: var(--radius-image);
    border: 1px solid #dedede;
}

body.page-template-template-links #wrapper #content-column #content-wrap #content #content-inner div.link-item-wrapper {
    align-items: center;
}

@media (max-width: 767px) {
		body.page-template-template-links #wrapper #content-column #content-wrap #content #content-inner div.link-item-wrapper {
				flex-wrap: wrap;
				justify-content: center;
		}
}

/* ======================================================
   12. SINGLE BLOG POST
====================================================== */
body.single #post-content h2 {
  	color: var(--blog-heading-color);
  	font-size: var(--blog-h2-size);
  	font-weight: var(--blog-heading-weight);
}

body.single #post-content h3 {
  	font-size: var(--blog-h3-size);
}

body.single #post-content h4 {
  	font-size: var(--blog-h4-size);
}

/* Single Post Hero - keep background image */
body.single #wrapper #content-column #content-wrap #content-header {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
	width: 1920px;
  max-width: 100%;
}

body.single #wrapper #content-column #content-wrap #content-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.50);
  z-index: 1;
}

body.single #wrapper #content-column #content-wrap #content-header #content-title-wrapper {
  position: relative;
  z-index: 2;
}

@media (max-width: 1560px) {
    body.single #wrapper #content-column #content-wrap #content-header {
        height: 30vw;
    }
}

@media (max-width: 1024px) {
    body.single #wrapper #content-column #content-wrap #content-header {
        height: 30vw;
    }
}

@media (max-width: 767px) {
    body.single #wrapper #content-column #content-wrap #content-header {
        height: 60vw;
    }
}

@media (max-width: 700px) {
  body.single #wrapper #content-column #content-wrap #content-header {
    padding: 40px 20px;
  }
}

/* Post Title */
body.single #wrapper #content-column #content-wrap #content-header #content-title-wrapper #content-title {
  font-family: var(--font-heading);
  font-size: 45px;
  font-weight: 600;
  color: var(--color-white);
  line-height: 1.3;
  margin: 0;
  max-width: 900px;
}

@media (max-width: 1200px) {
  body.single #wrapper #content-column #content-wrap #content-header #content-title-wrapper #content-title {
    font-size: 38px;
  }
}

@media (max-width: 700px) {
  body.single #wrapper #content-column #content-wrap #content-header #content-title-wrapper #content-title {
    font-size: 28px;
  }
}

/* Post Date */
body.single #wrapper #content-column #content-wrap #content-header #content-title-wrapper #post-date {
  display: none!important;
}

/* Post Content Area */
body.single #wrapper #content-column #content {
  max-width: 1240px;
  padding: 50px 20px;
  margin: 0 auto;
}

body.single #wrapper #content-column #content p {
  font-size: 18px;
  line-height: 1.7;
  color: var(--color-black);
  margin-bottom: 20px;
}

body.single #wrapper #content-column #content h2 {
  font-size: 32px;
  color: var(--color-tertiary);
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 20px;
}

body.single #wrapper #content-column #content h3 {
  font-size: 24px;
  color: var(--color-primary);
  font-weight: 600;
  margin-top: 30px;
  margin-bottom: 15px;
}

body.single #wrapper #content-column #content img {
  border-radius: 15px;
  margin: 30px 0;
  max-width: 100%;
  height: auto;
}

/* Post Navigation (Previous/Next) */
body.single #wrapper #content-column #content-wrap nav.post-navigation {
  background-color: var(--color-eggshell);
  padding: 25px 40px;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  border-top: 2px solid var(--color-secondary);
}

body.single #wrapper #content-column #content-wrap nav.post-navigation div.nav-links {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

body.single #wrapper #content-column #content-wrap nav.post-navigation div.nav-links a {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

body.single #wrapper #content-column #content-wrap nav.post-navigation div.nav-links a:hover {
  color: var(--color-tertiary);
}

/* Add arrows to previous/next links */
body.single #wrapper #content-column #content-wrap nav.post-navigation div.nav-links a[rel="prev"]::before {
  content: "← ";
}

body.single #wrapper #content-column #content-wrap nav.post-navigation div.nav-links a[rel="next"]::after {
  content: " →";
}

@media (max-width: 700px) {
  body.single #wrapper #content-column #content-wrap nav.post-navigation {
    padding: 20px;
  }

  body.single #wrapper #content-column #content-wrap nav.post-navigation div.nav-links {
    flex-direction: column;
  }
}

/* ======================================================
   13. SEARCH PAGE
====================================================== */
/* Search Title */
body.search h1#search-title {
  font-size: 40px;
  font-weight: 600;
  color: var(--color-primary);
  text-align: center;
  padding: 40px 20px 20px;
  line-height: 1.3;
  font-family: var(--font-heading);
}

@media only screen and (max-width: 1000px) {
  body.search h1#search-title {
    font-size: 36px;
  }
}

@media only screen and (max-width: 800px) {
  body.search h1#search-title {
    font-size: 32px;
  }
}

@media only screen and (max-width: 600px) {
  body.search h1#search-title {
    font-size: 28px;
  }
}

@media only screen and (max-width: 400px) {
  body.search h1#search-title {
    font-size: 24px;
  }
}

/* Link to Blog Page */
body.search div#link-to-blog-page {
  text-align: center;
  margin-bottom: 30px;
}

body.search div#link-to-blog-page a {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: underline;
  transition: color 0.3s ease;
}

body.search div#link-to-blog-page a:hover {
  color: var(--color-secondary);
}

/* Search Grid Container */
body.search div#search-grid-wrap {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px 40px;
}

body.search div#search-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

body.search-no-results div#search-grid-wrap {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0px;
}

/* Search Result Cards */
body.search div.search-item {
  width: calc(33.333% - 20px);
  min-width: 300px;
  max-width: 360px;
  background: var(--color-white);
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border: 2px solid var(--color-secondary);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}

body.search div.search-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

body.search div.search-item a {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Search Item Image */
body.search div.search-item-thumb {
  height: 220px;
  overflow: hidden;
}

body.search div.search-item-thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

/* Search Item Content */
body.search div.search-item-content {
  padding: 25px;
}

body.search div.search-item-title h3 {
  margin: 0 0 12px 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-primary);
  font-family: var(--font-heading);
  line-height: 1.3;
  transition: color 0.3s ease;
}

body.search div.search-item:hover div.search-item-title h3 {
  color: var(--color-secondary);
}

body.search div.search-item-excerpt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-black);
  font-family: var(--font-body);
  margin: 0;
}

/* Search Pagination */
body.search div#search-pagination {
  text-align: center;
  font-family: var(--font-body);
  font-size: 18px;
  margin-top: 40px;
  margin-bottom: 40px;
}

body.search div#search-pagination span.current,
body.search div#search-pagination a.page-numbers {
  padding: 10px 18px;
  margin: 0 5px;
  border-radius: 8px;
  border: none;
  background: var(--color-accent-2);
  color: var(--color-black);
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

body.search div#search-pagination span.current {
  background: var(--color-primary);
  color: var(--color-white);
}

body.search div#search-pagination a.page-numbers:hover {
  background: var(--color-secondary);
  color: var(--color-white);
}

/* Responsive Grid */
@media (max-width: 1024px) {
  body.search div.search-item {
    width: calc(50% - 15px);
  }
}

@media (max-width: 700px) {
  body.search div.search-item {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }
}

/* ======================================================
   14. FOOTER LAYOUT & TYPOGRAPHY
====================================================== */
/* Footer Layout */
#footer-widget {
	background-color: var(--bg-footer);
	padding-left: 20px;
	padding-right: 20px;
}

#footer-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    width: 1240px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#footer-wrapper > div {
	min-width: 280px;
	max-width: 25%;
}

@media (max-width: 768px) {
		#footer-wrapper > div {
			min-width: 280px;
			max-width: 100%;
		}
}

#footer-logo figure {
	top: -7px;
}

/* Footer Typography & Colors */
#footer p, #footer {
    color: var(--footer-text-color) !important;
}

#footer-wrap p,
#footer span {
	color: var(--footer-text-color);
	margin: 0;
}

#footer p a {
    color: var(--footer-link-color) !important;
		text-decoration: underline;
}

#footer p a:hover {
    color: var(--footer-link-hover-color) !important;
}

#footer-wrap a {
	color: var(--footer-link-color);
	margin: 0;
}

#footer-wrap a:hover {
	color: var(--footer-link-hover-color);
}

#footer h2.footer-heading,
#footer h3.footer-heading {
  color: var(--footer-heading-color);
  font-weight: var(--footer-heading-weight);
}

/* Footer Social Icons */
#footer .social-media-icons-footer .wp-block-social-links a, #footer .social-media-icons-footer .wp-block-social-links a:hover {
		color: var(--footer-social-icons-color) !important;
}

#footer .social-media-icons-footer .wp-block-social-links.aligncenter {
    justify-content: left!important;
}

/* Footer Copyright Bar */
#footer-wrap #footer-copyright {
	background-color: #282828;
	font-family: var(--font-body);
    color: var(--color-white)!important;
	padding-top: 8px;
	padding-bottom: 8px;
}

#footer-wrap #footer-copyright p, #footer-wrap #footer-copyright span {
     color: var(--color-white);   
}

#footer-wrap #footer-copyright a {
    color: var(--footer-link-color);
}

#footer-wrap #footer-copyright a:hover {
    color: var(--footer-link-hover-color);
}

/* ======================================================
   15. FORMINATOR TYPOGRAPHY
====================================================== */
.forminator-label {
  font-size: 18px!important;
  font-weight: var(--font-weight-regular)!important;
  font-family: var(--font-body)!important;
}

.forminator-ui input,
.forminator-ui select {
  font-family: var(--font-body)!important;
}
	
h2.forminator-title {
  	color: var(--page-heading-color)!important;
  	font-size: var(--page-h2-size)!important;
  	font-weight: var(--page-heading-weight)!important;
}
	
.forminator-ui .forminator-description, .forminator-ui .forminator-consent__label p, .forminator-ui .forminator-file-upload > span {
  font-size: 16px!important;
}
	
.forminator-ui .forminator-consent__label p {
	margin-top: 0px!important;
}

/* ======================================================
   16. GLOBAL BUTTON SYSTEM
====================================================== */
/* 16.1 Base Button Styles */
.btn, a.kt-button.btn,
.wp-block-button__link.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  font-weight: var(--font-weight-regular);
  font-size: 18px;
  border: none;
  border-radius: var(--radius-button) !important;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.wp-block-social-links a, [class*=forminator-icon-], .kt-info-svg-icon, .kb-svg-icon-wrap {
  color: var(--btn-primary-icon-only) !important;
  fill: var(--btn-primary-icon-only) !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
	
.wp-block-social-links a:hover, [class*=forminator-icon-]:hover, [class*=forminator-icon-]:active, .kt-info-svg-icon:hover, .kb-svg-icon-wrap:hover {
  color: var(--btn-primary-icon-only-hover) !important;
  fill: var(--btn-primary-icon-only-hover) !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

#email-notice {
    color: var(--link-color) !important;
}

/* Resize header buttons only 1200px and below */
@media only screen and (max-width: 1200px) {
#header-wrap .btn, #header-wrap a.kt-button.btn,
#header-wrap .wp-block-button__link.btn {
		font-size: 16px;
}
}
/* Make all buttons full width on mobile (except for the header) to be mobile friendly */
@media only screen and (max-width: 767px) {
.btn:not(#header-wrap), a.kt-button.btn:not(#header-wrap),
.wp-block-button__link.btn:not(#header-wrap) {
		width: 100%!important;
}
}

/* 16.2 Primary Button */
.btn.btn--primary,
a.kt-button.btn--primary,
.wp-block-button__link.btn--primary {
  background-color: var(--btn-primary-bg) !important;
  color: var(--btn-primary-text) !important;
	font-weight: var(--font-weight-regular);
}

/* Default color for Forminator form buttons */
.forminator-repeater-add, .forminator-repeater-remove, .forminator-button-next, .forminator-button-back, .forminator-button-upload, .forminator-button-submit {
	background-color:  var(--btn-primary-bg) !important;
	border-radius: var(--radius-button) !important;
	color: var(--btn-primary-text) !important;
	font-weight: var(--font-weight-regular)!important;
	font-size: 18px!important;
	border: none!important;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* Hover/Focus */
.btn.btn--primary:hover,
a.kt-button.btn--primary:hover,
a.kt-button.btn--primary:focus-visible,
.wp-block-button__link.btn--primary:hover,
.wp-block-button__link.btn--primary:focus-visible,
.btn.btn--primary:focus-visible {
  background-color: var(--btn-primary-hover-bg) !important;
  color: var(--btn-primary-hover-text) !important;
}

.forminator-repeater-add:hover, .forminator-repeater-remove:hover, .forminator-button-next:hover, .forminator-button-back:hover, .forminator-button-upload:hover, .forminator-button-submit:hover {
		background-color: var(--btn-primary-hover-bg) !important;
		color: var(--btn-primary-hover-text) !important;
}

/* 16.3 Primary Icon Buttons */
a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false .kb-svg-icon-wrap {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--btn-primary-icon-only) !important;
  fill: var(--btn-primary-icon-only) !important;
  font-size: var(--btn-icon-size) !important;
}

a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-true .kb-svg-icon-wrap {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--btn-primary-icon) !important;
  fill: var(--btn-primary-icon) !important;
  font-size: var(--btn-icon-size) !important;
}

a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false:hover .kb-svg-icon-wrap,
a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false:focus-visible .kb-svg-icon-wrap {
  color: var(--btn-primary-icon-only-hover) !important;
  fill: var(--btn-primary-icon-only-hover) !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-true:hover .kb-svg-icon-wrap,
a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-true:focus-visible .kb-svg-icon-wrap {
  color: var(--btn-primary-icon-hover) !important;
  fill: var(--btn-primary-icon-hover) !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* 16.4 Secondary Button */
.btn.btn--secondary,
a.kt-button.btn--secondary,
.wp-block-button__link.btn--secondary {
  background-color: #fff !important;
  color: var(--btn-secondary-text) !important;
  border: 1px solid var(--btn-secondary-bg) !important;
	font-weight: var(--font-weight-regular);
}

/* Hover/Focus */
.btn.btn--secondary:hover,
a.kt-button.btn--secondary:hover,
a.kt-button.btn--secondary:focus-visible,
.wp-block-button__link.btn--secondary:hover,
.wp-block-button__link.btn--secondary:focus-visible,
.btn.btn--secondary:focus-visible {
  background-color: var(--btn-secondary-hover-bg) !important;
  color: var(--btn-secondary-hover-text) !important;
	border: 1px solid  var(--btn-secondary-hover-bg) !important;
}

/* 16.5 Secondary Icon Buttons */
a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false .kb-svg-icon-wrap {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--btn-secondary-icon-only) !important;
  fill: var(--btn-secondary-icon-only) !important;
  font-size: var(--btn-icon-size) !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-true .kb-svg-icon-wrap {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--btn-secondary-icon) !important;
  fill: var(--btn-secondary-icon) !important;
  font-size: var(--btn-icon-size) !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:hover .kb-svg-icon-wrap,
a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:focus-visible .kb-svg-icon-wrap {
  color: var(--btn-secondary-icon-only-hover) !important;
  fill: var(--btn-secondary-icon-only-hover) !important;
}

a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:hover,
a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:focus-visible {
  color: var(--btn-secondary-icon-hover) !important;
  fill: var(--btn-secondary-icon-hover) !important;
}

/* ======================================================
   17. KEYBOARD ACCESSIBILITY / FOCUS STATES
====================================================== */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible, .btn:focus-visible, .wp-block-button__link.btn:focus-visible, .kt-button.btn:focus-visible {
  outline: 2px solid #BD13B8;
  outline-offset: 2px;
}

/* ======================================================
   18. GLOBAL ACCORDION SYSTEM
====================================================== */
/* 18.1 Primary Accordion */
.accordion--primary .kt-blocks-accordion-header {
  background-color: var(--accordion-primary-bg) !important;
  color: var(--accordion-primary-text) !important;
  font-weight: var(--font-weight-regular);
  font-family: var(--font-body) !important;
  border-radius: var(--radius-button) !important;
  padding: 15px 24px !important;
}
.accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before, .accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after {
	color: var(--accordion-primary-text) !important;
	background-color: var(--accordion-primary-icon) !important;
}
	
.accordion--primary .kt-blocks-accordion-header:hover,
.accordion--primary .kt-blocks-accordion-header:focus-visible,
.accordion--primary .kt-blocks-accordion-header.kt-accordion-panel-active {
  background-color: var(--accordion-primary-hover-bg) !important;
  color: var(--accordion-primary-hover-text) !important;
}
.accordion--primary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before, .accordion--primary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, .accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after {
	color: var(--accordion-primary-hover-text) !important;
	background-color: var(--accordion-primary-icon-hover) !important;
}

/* 18.2 Secondary Accordion */
.accordion--secondary .kt-blocks-accordion-header {
  background-color: var(--accordion-secondary-bg) !important;
  color: var(--accordion-secondary-text) !important;
  font-weight: var(--font-weight-regular);
  font-family: var(--font-body) !important;
  border-radius: var(--radius-button) !important;
  padding: 15px 24px !important;
}
.accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before, .accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after {
	color: var(--accordion-secondary-text) !important;
	background-color: var(--accordion-secondary-icon) !important;
}

.accordion--secondary .kt-blocks-accordion-header:hover,
.accordion--secondary .kt-blocks-accordion-header:focus-visible,
.accordion--secondary .kt-blocks-accordion-header.kt-accordion-panel-active {
  background-color: var(--accordion-secondary-hover-bg) !important;
  color: var(--accordion-secondary-hover-text) !important;
}
.accordion--secondary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before, .accordion--secondary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, .accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after {
	color: var(--accordion-secondary-hover-text) !important;
	background-color: var(--accordion-secondary-icon-hover) !important;
}
	
/* Inner Accordion Overrides */
.kt-accordion-panel-inner {
    border: 0px solid transparent !important;
    padding: 0px !important;
}

/* ======================================================
   19. IMAGE GALLERY
====================================================== */
.gallery-zoom 
.kb-gallery-ul 
.kadence-blocks-gallery-item 
.kadence-blocks-gallery-item-inner 
.kb-gallery-image-contain.kadence-blocks-gallery-intrinsic {
  border-radius: var(--radius-image) !important;
  overflow: hidden !important;
}

/* Image only handles transform */
.gallery-zoom 
.kb-gallery-ul 
.kadence-blocks-gallery-item 
.kadence-blocks-gallery-item-inner img {
  transition: transform 0.2s ease-in-out;
}

/* Hover scale */
.gallery-zoom 
.kb-gallery-ul 
.kadence-blocks-gallery-item 
.kadence-blocks-gallery-item-inner:hover img {
  transform: scale(1.05);
}

/* ======================================================
   20. BACKGROUND UTILITY CLASSES
   Add these to rows, containers, or columns as needed
====================================================== */
/* 20.1 Background colors */
.bg-white {
	background-color: var(--surface-white) !important;
}

.bg-light {
	background-color: var(--surface-light) !important;
}

.bg-black {
	background-color: var(--surface-black) !important;
}

.bg-primary {
	background-color: var(--surface-primary) !important;
}

.bg-secondary {
	background-color: var(--surface-secondary) !important;
}

.bg-tertiary {
	background-color: var(--surface-tertiary) !important;
}

.bg-accent-1 {
	background-color: var(--surface-accent-1) !important;
}

.bg-accent-2 {
	background-color: var(--surface-accent-2) !important;
}
	
/* 20.2 Simple Fade Gradients */
/* Tertiary to white */
.bg-fade-top-tertiary {
	background-image: linear-gradient(
		180deg,
		var(--color-tertiary),
		#ffffff
	) !important;
}

.bg-fade-bottom-tertiary {
	background-image: linear-gradient(
		0deg,
		var(--color-tertiary),
		#ffffff
	) !important;
}

/* Accent 1 to white */
.bg-fade-top-accent-1 {
	background-image: linear-gradient(
		180deg,
		var(--color-accent-1),
		#ffffff
	) !important;
}

.bg-fade-bottom-accent-1 {
	background-image: linear-gradient(
		0deg,
		var(--color-accent-1),
		#ffffff
	) !important;
}

/* Accent 2 to white */
.bg-fade-top-accent-2 {
	background-image: linear-gradient(
		180deg,
		var(--color-accent-2),
		#ffffff
	) !important;
}

.bg-fade-bottom-accent-2 {
	background-image: linear-gradient(
		0deg,
		var(--color-accent-2),
		#ffffff
	) !important;
}

/* Light to white */
.bg-fade-top-surface-light {
	background-image: linear-gradient(
		180deg,
		var(--surface-light),
		#ffffff
	) !important;
}

/* ======================================================
   21. BORDER RADIUS UTILITIES
   Use to override block defaults
====================================================== */
.radius-none {
	border-radius: 0 !important;
}

.radius-button {
	border-radius: var(--radius-button) !important;
}

.radius-card {
	border-radius: var(--radius-card) !important;
}

.radius-card-v2 {
	border-top-right-radius: var(--radius-card) !important;
	border-bottom-right-radius: var(--radius-card) !important;
}

.radius-image, .radius-image img {
	border-radius: var(--radius-image) !important;
}
	
/* ======================================================
   22. SHADOW UTILITIES
   Use to override block defaults
====================================================== */
.shadow-soft {
	filter: var(--shadow-soft) !important;
}
	
.shadow-medium {
	filter: var(--shadow-medium) !important;
}
	
.shadow-strong {
	filter: var(--shadow-strong) !important;
}
	
/* ======================================================
   23. BORDER UTILITIES
   Use to override block defaults
====================================================== */
.border-primary {
	border: 2px solid var(--surface-primary) !important;
}

.border-dashed-primary {
	border: 2px dashed var(--surface-primary) !important;
}

.border-secondary {
	border: 2px solid var(--surface-secondary) !important;
}

.border-dashed-secondary {
	border: 2px dashed var(--surface-secondary) !important;
}

.border-tertiary {
	border: 2px solid var(--surface-tertiary) !important;
}

.border-dashed-tertiary {
	border: 2px dashed var(--surface-tertiary) !important;
}

.border-accent-1 {
	border: 2px solid var(--surface-accent-1) !important;
}

.border-dashed-accent-1 {
	border: 2px dashed var(--surface-accent-1) !important;
}

.border-accent-2 {
	border: 2px solid var(--surface-accent-2) !important;
}

.border-dashed-accent-2 {
	border: 2px dashed var(--surface-accent-2) !important;
}

/* ======================================================
   24. FOUC PREVENTION OVERRIDE
   Overrides base theme's display:none to reveal content
   after all styles have loaded. DO NOT REMOVE.
====================================================== */
body {
	display: block !important;
	visibility: visible !important;
}

#wrapper #content-column #content {
    display: block !important;
}

/* ======================================================
   25. UTILITY OVERRIDES & HELPERS
====================================================== */
/* WordPress Admin Bar Helper */
#wp-admin-bar-enable-jquery-migrate-helper { 
	display: none; 
}

/* Scroll to Top Plugin */
#wpfront-scroll-top-container {
	z-index: 9999999 !important;
}

/* Cookie Notice Plugin */
#branda-cookie-notice-wrap {
	z-index: 9999999;
}

/* Forminator Plugin Datepicker Field */
.ui-datepicker.forminator-calendar--flat {
    z-index: 20000000 !important;
}
.forminator-ui.forminator-custom-form[data-design=flat] .forminator-input-with-icon [class*=forminator-icon-] {
    z-index: 999 !important;
}

/* Forminator Plugin Submit Button Position */
.forminator-row.forminator-row-last {
    text-align: right;
}