/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/


/* A11y Fixes */

/* Allow for esc key to close Kadence submenu */
.nav--toggle-sub li:hover > ul,
.nav--toggle-sub li.menu-item--toggled-on > ul,
.nav--toggle-sub li:not(.menu-item--has-toggle):focus > ul {
 display: none;
}

.main-navigation .menu-item .sub-menu {
  display: none;
}
.main-navigation .menu-item .sub-menu.submenu-open,
.main-navigation .menu-item .sub-menu.toggle-show {
  display: block;
}

/* Gravity Forms */
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
	font-size:1rem;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
	color: var(--global-palette3);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus, .gform_wrapper.gravity-theme .gfield textarea:focus, select:focus {
	border-color:#000000;
	outline:-webkit-focus-ring-color auto 1px !important;
}
/* Styling for floating label for gravity forms. 
 * Add class of floating-label to desired form fields */
.floating-label {
        position: relative;
}

.floating-label label {
    position: absolute;
    top: 12px;
    left: 0;
    margin: 0;
    opacity: 0;
    line-height: 1.4;
    font-size: 1rem;
    transition: all ease 0.4s;
}

.floating-label:focus-within label,
.floating-label input:focus ~ label, 
.floating-label textarea:focus ~ label,
.floating-label input.valid ~ label,
.floating-label textarea.valid ~ label, 
.floating-label input:visited ~ label,
.floating-label textarea:visited ~ label,
.floating-label input:-webkit-autofill ~ label,
.floating-label textarea:-webkit-autofill ~ label,
.floating-label.input-active label {
        top: 0;
    left: 16px;
    font-size: .875rem !important;
    color: var(--global-palette3);
    opacity: 1;
}

/* Basic A11Y fixes for Kadence Blocks */
body .kt-blocks-modal-link:not(.kb-btn-global-inherit):focus-within {
	outline:inherit;
}

/* Search Bar */
.woocommerce-product-search {
	position:relative;
}
.woocommerce-product-search .screen-reader-text {
	cursor: text;
	 font-size: 1rem;
	 left: 1rem;
	 margin: 0;
	 opacity: 0;
	 padding-right: 3.5em;
	 position: absolute;
	 top: 0.75rem;
	 font-weight: 500;
	 transition: all ease 0.4s;
}
.woocommerce-product-search:focus-within .screen-reader-text {
	clip:unset;
	clip-path:unset;
	height:auto;
	width:auto;
	left: 12px;
    padding: 0 5px !important;
    background: #fff;
    font-size: 13px!important;
    top: -13px;
    left: 1px;
    line-height: 19px;
    color: #383b41;
    opacity: 1;
}
.woocommerce-product-search input[type='search']::placeholder,
.search-form input[type='search']::placeholder {
	opacity:1;
}

/* menu */
body:not(.hide-focus-outline) .header-navigation li.menu-item--has-toggle>a:focus .dropdown-nav-toggle {
	opacity:1 !important;
}
body #search-drawer .drawer-inner form ::-webkit-input-placeholder {
	opacity:1;
}
#search-drawer input:-webkit-autofill,
#search-drawer input:-webkit-autofill:focus {
    transition: background-color 0s 600000s, color 0s 600000s !important;
}

/* Cookies */
.cky-preference-header .cky-btn-close img {
	filter:brightness(0);
}

/* Kadence Slider */
.kb-splide .splide__pagination__page:focus-visible {
	outline:2px solid #000;
}

/* Smart Slider */
body .n2-ss-slider :focus-visible,
body .n2-ss-slider a.n2-ow:focus-visible, 
body .n2-ss-slider .n2-ow-all a:focus-visible {
	outline:1px solid #fff !important;
	box-shadow:inset 0 0 0 1px #000000 !important;
}
.n2-ss-slider .n2-ss-widget.n2-ss-widget-hidden {
	display:none;
}

/* Forms */
body select,
body select.orderby {
	background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' class='kadence-svg-icon kadence-arrow-down-svg' fill='currentColor' version='1.1' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M5.293 9.707l6 6c0.391 0.391 1.024 0.391 1.414 0l6-6c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z'%3E%3C/path%3E%3C/svg%3E");
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, body select, body .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--single .select2-selection__rendered {
	border-color:#4E5C74;
	color:var(--global-palette3);
}

/* Events Calendar */
.tribe-events .datepicker .day.focused, .tribe-events .datepicker .day:focus, .tribe-events .datepicker .day:hover, .tribe-events .datepicker .month.focused, .tribe-events .datepicker .month:focus, .tribe-events .datepicker .month:hover, .tribe-events .datepicker .year.focused, .tribe-events .datepicker .year:focus, .tribe-events .datepicker .year:hover {
	outline:2px solid #000;
}
.tribe-events-c-search__input-group {
	position:relative;
}
.tribe-events-c-search__input-group label {
	opacity:0;
	transition: all ease 0.4s;
}
.tribe-events-c-search__input-group:focus-within label {
	clip:unset;
	height:auto;
	width:auto;
	opacity:1;
	margin:0;
	top:-40px;
}
.tribe-events .datepicker .next .tribe-events-c-top-bar__datepicker-nav-icon-svg path, .tribe-events .datepicker .prev .tribe-events-c-top-bar__datepicker-nav-icon-svg path, #primary .tribe-events .tribe-common-c-btn-icon--caret-left .tribe-common-c-btn-icon__icon-svg path, #primary .tribe-events .tribe-common-c-btn-icon--caret-right .tribe-common-c-btn-icon__icon-svg path,
.tribe-events .tribe-events-c-nav__next:disabled .tribe-events-c-nav__next-icon-svg path, .tribe-events button.tribe-events-c-nav__next:disabled .tribe-events-c-nav__next-icon-svg path {
	fill:#707070;
}

/* WooCommerce */
select.orderby:focus-visible {
	outline:2px solid #000;
}
.kadence-shop-top-row {
	position:relative;
}
.kadence-shop-top-row .skip-link {
	right:0;
	left:auto;
}
span.required {
	color:red;
}
.form-description {
	font-size:1rem;
}
.kadence-product-gallery-thumbnails.splide.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide:focus-visible,
.kb-splide .splide__arrows .splide__arrow:focus-visible{
	box-shadow:0 0 0 3px #000 !important;
	outline:2px solid #fff !important;
}
body .kb-advanced-slide-inner {
	overflow:visible;
}

.gbtn.focused {
	outline: 2px solid #fff !important;
}
body .woocommerce form .form-row label {
	color:var(--global-palette3);
}
body .wp-element-button:disabled {
	opacity:0.7;
}


/* End A11y Fixes */

.card-service {
	border-radius: 8px;
}

.card-service,
.card-service:focus-within {
	overflow: hidden!important;
}

.card-service:hover > .kt-inside-inner-col,
.card-service:focus > .kt-inside-inner-col {
	transform: scale(1.07);
}

@media (min-width: 1025px) and (max-width: 1540px) {
	
	body .wp-block-kadence-header-row .kadence-header-row-inner {
		padding-right:20px;
		padding-left:20px;
	}
	
	.kb-identity-layout-logo-only {
		max-width:140px;
	}
	
	body .wp-block-site-logo {
		margin-top:-72px !important;
	}
	
	.wp-block-kadence-navigation .kb-nav-link-content {
		padding-left:12px;
		padding-right:12px;
	}
	
	body header .kb-buttons-wrap.wp-block-kadence-advancedbtn .kb-button.button {
		padding: 1rem;
	}

	body header div:not(.kb-search) > .kb-buttons-wrap.wp-block-kadence-advancedbtn .kb-button.button {
		font-size: 1rem;
		padding: 0.875rem;
		letter-spacing: 0;
	}

	header .wp-block-kadence-advancedbtn.kb-buttons-wrap {
		gap: 0.5rem;
	}
}

@media (min-width: 1025px) and (max-width: 1200px) {
	body .wp-block-kadence-navigation .menu-item-has-children > .kb-link-wrap > a {
		padding-right: 24px !important;
	}

	.wp-block-kadence-navigation .kb-nav-dropdown-toggle-btn {
		inset-inline-end:28px;
	}

	body header div:not(.kb-search) > .kb-buttons-wrap.wp-block-kadence-advancedbtn .kb-button.button {
		letter-spacing: -0.6px;
	} 
}

/* Slider Our Work */ 

@media (min-width: 1025px) {
	
	body .slider-work .n2-ss-slider-3:before,
	body .slider-work .n2-ss-slider-3:after {
        content: '';
        display: block;
        height: 100%;	
		width: 30%;
		position: absolute;
        top: 0;
		z-index: 10;
	}
	
    body .slider-work .n2-ss-slider-3:before {
        background: linear-gradient(to right, rgba(33, 37, 41, 1) 0%, rgba(33, 37, 41, 1) 25%, rgba(33, 37, 41, 0) 100%);
        left: 0;
    }
	
    body .slider-work .n2-ss-slider-3:after {
        background: linear-gradient(to right, rgba(33, 37, 41, 0) 0%, rgba(33, 37, 41, 1) 75%, rgba(33, 37, 41, 1) 100%);
        right: 0;
    }
	
	body .slider-work.slider-work-white .n2-ss-slider-3:before {
		background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 25%, rgba(255, 255, 255, 0) 100%)
	}
	body .slider-work.slider-work-white .n2-ss-slider-3:after {
		background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 75%, rgba(255, 255, 255, 1) 100%);
	}


	body .slider-work.slider-work-red .n2-ss-slider-3:before {
		background: linear-gradient(to right, rgba(166, 0, 0, 1) 0%, rgba(166, 0, 0, 1) 25%, rgba(255, 255, 255, 0) 100%)
	}
	body .slider-work.slider-work-red .n2-ss-slider-3:after {
		background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(166, 0, 0, 1) 75%, rgba(166, 0, 0, 1) 100%);
	}

}

.slider-work .nextend-bullet-bar,
.slider-testimonials .nextend-bullet-bar {
	margin:0 36px;
}

@media screen and (max-width:767px) {
	
	.slider-work .n2-ss-slider .n2-ss-slider-controls-absolute-left-center,
	.slider-work .n2-ss-slider .n2-ss-slider-controls-absolute-right-center,
	.slider-testimonials .n2-ss-slider .n2-ss-slider-controls-absolute-left-center,
	.slider-testimonials .n2-ss-slider .n2-ss-slider-controls-absolute-right-center {
		align-items:flex-end;
		top:70px;
	}	
	
}

.gallery--thumbnail .kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner .kadence-blocks-gallery-item__caption {
	padding: 12px;
	background-color: rgba(0, 0, 0, .7) !important;
	color: #bbb;
	text-align: left;
	font-style: italic;
	font-weight: 400;
	font-family: Georgia, sans-serif;
	line-height: 2;
}

.gallery--thumbnail .kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner .kadence-blocks-gallery-item__caption:first-line {
	font-weight: 700;
	font-style: normal;
	font-family: var(--global-body-font-family);
	color: var(--global-palette9);
}

/* Hero Headings icons mobile styling */

@media (max-width: 768px) {
	body h1.hero-section-title {
		display: flex;
		flex-direction: column;
	}

	body h1.hero-section-title span.kb-adv-heading-icon {
		padding: 8px;
		color: #fff!important;
		background-color: var(--global-palette2);
		border-radius: 100px;
	}
}

/* Projects Styling */
.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.project-item {
    border: 1px solid #e1e5e9;
    border-radius: 8px;
    padding: 1.5rem;
    background: #fff;
    transition: box-shadow 0.3s ease;
}

.project-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.project-item h3 {
    margin-top: 0;
    margin-bottom: 1rem;
}

.project-item h3 a {
    text-decoration: none;
    color: #333;
}

.project-item h3 a:hover {
    color: #0073aa;
}

.service-types {
    margin-top: 1rem;
}

.service-type-tag {
    display: inline-block;
    background: #f0f0f1;
    color: #50575e;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.service-type-repair .service-type-tag {
    background: #fef7e0;
    color: #8a6914;
}

.service-type-enhancement .service-type-tag {
    background: #e7f3ff;
    color: #0073aa;
}

.service-type-restoration .service-type-tag {
    background: #f0f6fc;
    color: #0969da;
}

.wp-block-kadence-off-canvas-trigger:hover,
.wp-block-kadence-off-canvas-trigger:focus {
	color: var(--global-palette9);
}
