/*
Theme Name: WellSpring Child Theme
Template: wellspring
Theme URI: https://wellspring.ancorathemes.com/
Description: Child theme for WellSpring customizations.
Author: AncoraThemes
Author URI: https://ancorathemes.com/
Version: 1.2.5-custom
Tested up to: 6.7.2
Requires at least: 5.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, e-commerce, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
Text Domain: wellspring-child
*/


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

:root {
	--pristine-aqua: #5bd3e6;
	--pristine-aqua-dark: #168aa3;
	--pristine-navy: #113348;
	--pristine-ink: #1d2934;
	--pristine-muted: #647889;
	--pristine-surface: #f5fbfc;
	--pristine-line: rgba(17, 51, 72, 0.12);
}

body {
	color: var(--pristine-ink);
}

.sc_layouts_row_fixed_on,
.top_panel,
.top_panel_custom_header-default-el,
.scheme_default .sc_layouts_row {
	box-shadow: 0 12px 34px rgba(17, 51, 72, 0.08);
}

.sc_layouts_menu_nav > li > a,
.sc_layouts_menu_nav > li.menu-item-has-children > a {
	font-weight: 700;
	letter-spacing: 0;
}

.sc_layouts_menu_nav > li.current-menu-item > a,
.sc_layouts_menu_nav > li.current-menu-parent > a,
.sc_layouts_menu_nav > li > a:hover {
	color: var(--pristine-aqua-dark) !important;
}

.sc_button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border-radius: 6px !important;
	box-shadow: 0 12px 24px rgba(22, 138, 163, 0.22);
	font-weight: 800;
	letter-spacing: 0;
}

.sc_button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(22, 138, 163, 0.28);
}

body.frontpage,
body.home-page {
	background-image: url("front-page/images/bg.jpg") !important;
	background-position: center;
	background-size: cover;
}

.front_page_section {
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

.front_page_section_title {
	background-image:
		linear-gradient(90deg, rgba(4, 25, 38, 0.78) 0%, rgba(4, 25, 38, 0.55) 38%, rgba(4, 25, 38, 0.12) 100%),
		url("front-page/images/bg-title.jpg") !important;
}

.front_page_section_woocommerce {
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(245, 251, 252, 0.76)),
		url("front-page/images/bg-products.jpg") !important;
}

.front_page_section_team {
	background-image:
		linear-gradient(90deg, rgba(245, 251, 252, 0.94), rgba(245, 251, 252, 0.68)),
		url("front-page/images/bg-team.jpg") !important;
}

.front_page_section_subscribe {
	background-image:
		linear-gradient(90deg, rgba(6, 42, 58, 0.74), rgba(6, 42, 58, 0.2)),
		url("front-page/images/bg-subscribe.jpg") !important;
}

.front_page_section_features,
.front_page_section_about,
.front_page_section_services {
	background-image:
		linear-gradient(90deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.64)),
		url("front-page/images/bg-service.jpg") !important;
}

.front_page_section_title .front_page_section_caption {
	max-width: 760px;
	color: #fff;
	text-shadow: 0 3px 18px rgba(4, 25, 38, 0.32);
}

.front_page_section_title .front_page_section_description {
	max-width: 580px;
	color: rgba(255, 255, 255, 0.88);
}

.front_page_section_caption {
	letter-spacing: 0;
}

.front_page_section_description {
	color: var(--pristine-muted);
	font-size: 1.08rem;
	line-height: 1.72;
}

.front_page_section_content_wrap {
	position: relative;
	z-index: 1;
}

.front_page_section_title .front_page_section_inner,
.front_page_section_subscribe .front_page_section_inner {
	background: transparent !important;
}

.scheme_default .sc_services_item,
.scheme_default .sc_team_item,
.scheme_default .sc_price_item,
.scheme_default .post_item {
	border: 1px solid var(--pristine-line);
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(17, 51, 72, 0.08);
	overflow: hidden;
}

.scheme_default .sc_services_item:hover,
.scheme_default .sc_team_item:hover,
.scheme_default .post_item:hover {
	box-shadow: 0 24px 54px rgba(17, 51, 72, 0.13);
	transform: translateY(-2px);
}

.sc_services_item,
.sc_team_item,
.post_item,
.sc_button {
	transition: box-shadow 0.24s ease, transform 0.24s ease, color 0.24s ease, background-color 0.24s ease;
}

@media (max-width: 767px) {
	.front_page_section_title {
		background-image:
			linear-gradient(180deg, rgba(4, 25, 38, 0.82), rgba(4, 25, 38, 0.5)),
			url("front-page/images/bg-title.jpg") !important;
	}

	.front_page_section_title .front_page_section_caption {
		max-width: 100%;
	}

	.front_page_section_description {
		font-size: 1rem;
	}
}

/* PristineTap full homepage redesign */
.pristinetap-redesign .content_wrap,
.pristinetap-redesign .content,
.pristinetap-redesign .page_content_wrap {
	width: 100%;
	max-width: none;
	padding: 0;
}

.pristinetap-redesign .sc_layouts_logo img,
.menu_mobile .sc_layouts_logo img {
	width: auto;
	max-width: 210px;
	max-height: 72px;
	object-fit: contain;
}

.pristinetap-redesign #menu-item-95,
#menu_mobile-item-95,
#menu-item-95 {
	display: none !important;
}

.ptap-home {
	--ptap-blue: #1690f0;
	--ptap-cyan: #54d3e8;
	--ptap-deep: #092f46;
	--ptap-ink: #102638;
	--ptap-muted: #62798a;
	--ptap-bg: #f5fbfc;
	--ptap-border: rgba(16, 38, 56, 0.12);
	background: #fff;
	color: var(--ptap-ink);
	font-family: inherit;
}

.ptap-home * {
	box-sizing: border-box;
}

.ptap-wrap {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.ptap-hero {
	position: relative;
	min-height: clamp(680px, 82vh, 900px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(3, 24, 37, 0.9) 0%, rgba(3, 24, 37, 0.74) 42%, rgba(3, 24, 37, 0.2) 100%),
		var(--ptap-hero-image) center / cover no-repeat;
}

.ptap-hero:after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 160px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
	pointer-events: none;
}

.ptap-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: clamp(34px, 6vw, 92px);
	align-items: center;
}

.ptap-hero-logo {
	width: min(300px, 72vw);
	height: auto;
	margin-bottom: 34px;
	filter: drop-shadow(0 14px 30px rgba(0, 0, 0, 0.24));
}

.ptap-kicker {
	margin: 0 0 13px;
	color: var(--ptap-cyan);
	font-size: 0.77rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ptap-hero h1,
.ptap-section h2,
.ptap-cta h2 {
	margin: 0;
	letter-spacing: 0;
	font-weight: 900;
	line-height: 0.98;
}

.ptap-hero h1 {
	max-width: 760px;
	color: #fff;
	font-size: clamp(48px, 7vw, 92px);
}

.ptap-lead {
	max-width: 650px;
	margin: 24px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.65;
}

.ptap-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.ptap-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 24px;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.ptap-btn:hover {
	transform: translateY(-2px);
}

.ptap-btn-primary {
	background: linear-gradient(135deg, var(--ptap-blue), var(--ptap-cyan));
	color: #fff !important;
	box-shadow: 0 18px 32px rgba(22, 144, 240, 0.28);
}

.ptap-btn-ghost {
	border: 1px solid rgba(255, 255, 255, 0.34);
	background: rgba(255, 255, 255, 0.1);
	color: #fff !important;
	backdrop-filter: blur(12px);
}

.ptap-hero-panel {
	display: grid;
	gap: 14px;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(18px);
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.18);
}

.ptap-hero-panel div {
	padding: 20px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.92);
}

.ptap-hero-panel strong {
	display: block;
	color: var(--ptap-blue);
	font-size: 40px;
	line-height: 1;
}

.ptap-hero-panel span {
	display: block;
	margin-top: 7px;
	color: var(--ptap-muted);
	font-size: 14px;
	line-height: 1.45;
}

.ptap-proof {
	position: relative;
	z-index: 2;
	margin-top: -42px;
}

.ptap-proof-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--ptap-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(16, 38, 56, 0.12);
}

.ptap-proof-grid span {
	padding: 24px 18px;
	color: var(--ptap-deep);
	font-size: 14px;
	font-weight: 900;
	text-align: center;
}

.ptap-proof-grid span + span {
	border-left: 1px solid var(--ptap-border);
}

.ptap-section {
	padding: clamp(78px, 9vw, 126px) 0;
}

.ptap-split,
.ptap-product-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
	gap: clamp(34px, 6vw, 84px);
	align-items: center;
}

.ptap-section h2 {
	max-width: 760px;
	color: var(--ptap-deep);
	font-size: clamp(34px, 5vw, 62px);
}

.ptap-section p {
	margin: 0;
	color: var(--ptap-muted);
	font-size: 18px;
	line-height: 1.75;
}

.ptap-section-head {
	max-width: 760px;
	margin-bottom: 34px;
}

.ptap-services {
	position: relative;
	background:
		linear-gradient(90deg, rgba(245, 251, 252, 0.98), rgba(245, 251, 252, 0.78)),
		var(--ptap-service-image) center / cover no-repeat;
}

.ptap-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ptap-service-card {
	min-height: 310px;
	padding: 34px;
	border: 1px solid var(--ptap-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 22px 58px rgba(16, 38, 56, 0.09);
}

.ptap-service-card span {
	color: var(--ptap-blue);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.ptap-service-card h3,
.ptap-steps h3 {
	margin: 18px 0 12px;
	color: var(--ptap-deep);
	font-size: 24px;
	font-weight: 900;
	line-height: 1.2;
}

.ptap-process {
	background: #fff;
}

.ptap-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--ptap-border);
	border-radius: 8px;
	overflow: hidden;
}

.ptap-steps > div {
	padding: 34px;
	background: #fff;
}

.ptap-steps > div + div {
	border-left: 1px solid var(--ptap-border);
}

.ptap-steps strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ptap-bg);
	color: var(--ptap-blue);
	font-size: 18px;
}

.ptap-products {
	background:
		linear-gradient(90deg, rgba(9, 47, 70, 0.92), rgba(9, 47, 70, 0.68)),
		var(--ptap-product-image) center / cover no-repeat;
}

.ptap-products h2,
.ptap-products p {
	color: #fff;
}

.ptap-product-list {
	display: grid;
	gap: 14px;
}

.ptap-product-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 86px;
	padding: 18px 22px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff !important;
	text-decoration: none !important;
	backdrop-filter: blur(16px);
	transition: transform 0.22s ease, background 0.22s ease;
}

.ptap-product-list a:hover {
	transform: translateX(4px);
	background: rgba(255, 255, 255, 0.18);
}

.ptap-product-list span {
	font-size: 20px;
	font-weight: 900;
}

.ptap-product-list em {
	color: var(--ptap-cyan);
	font-style: normal;
	font-weight: 900;
}

.ptap-cta {
	background:
		linear-gradient(90deg, rgba(3, 24, 37, 0.88), rgba(3, 24, 37, 0.36)),
		var(--ptap-cta-image) center / cover no-repeat;
}

.ptap-cta .ptap-wrap {
	max-width: 900px;
	margin-left: max(20px, calc((100vw - 1180px) / 2));
	margin-right: auto;
}

.ptap-cta h2 {
	color: #fff;
	font-size: clamp(34px, 5vw, 64px);
}

.ptap-page-hero {
	min-height: 520px;
	display: flex;
	align-items: center;
	padding: 96px 0;
	background:
		linear-gradient(90deg, rgba(3, 24, 37, 0.9), rgba(3, 24, 37, 0.46)),
		var(--ptap-page-image) center / cover no-repeat;
}

.ptap-page-hero .ptap-wrap {
	max-width: 1040px;
	margin-left: max(20px, calc((100vw - 1180px) / 2));
	margin-right: auto;
}

.ptap-page-hero h1 {
	max-width: 860px;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 6vw, 78px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
}

.ptap-page-hero p:not(.ptap-kicker) {
	max-width: 680px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 20px;
	line-height: 1.65;
}

.ptap-copy-stack {
	display: grid;
	gap: 18px;
}

.ptap-soft {
	background: var(--ptap-bg);
}

.ptap-card-grid-wide {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ptap-resource-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.ptap-resource-card,
.ptap-contact-card,
.ptap-request-panel {
	padding: 34px;
	border: 1px solid var(--ptap-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 22px 58px rgba(16, 38, 56, 0.08);
}

.ptap-resource-card h2,
.ptap-contact-card h2,
.ptap-request-panel h2 {
	margin: 0 0 16px;
	color: var(--ptap-deep);
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: 0;
}

.ptap-contact-card h2 a {
	color: var(--ptap-deep) !important;
	text-decoration: none !important;
}

.ptap-contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}

.ptap-checklist {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ptap-checklist li {
	position: relative;
	padding-left: 34px;
	color: var(--ptap-muted);
	font-size: 18px;
	line-height: 1.6;
}

.ptap-checklist li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ptap-blue), var(--ptap-cyan));
	box-shadow: 0 0 0 5px rgba(22, 144, 240, 0.1);
}

.ptap-faq-list {
	display: grid;
	gap: 14px;
}

.ptap-faq-list details {
	border: 1px solid var(--ptap-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(16, 38, 56, 0.06);
	overflow: hidden;
}

.ptap-faq-list summary {
	cursor: pointer;
	padding: 22px 24px;
	color: var(--ptap-deep);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.35;
}

.ptap-faq-list details p {
	padding: 0 24px 24px;
}

.ptap-form-section {
	background: #fff;
}

.ptap-form-section form {
	max-width: 860px;
}

.ptap-form-section input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.ptap-form-section textarea,
.ptap-form-section select {
	width: 100%;
	border: 1px solid var(--ptap-border) !important;
	border-radius: 6px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	border: 1px solid var(--ptap-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(16, 38, 56, 0.08);
	overflow: hidden;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 3em;
	padding-left: 18px;
	padding-right: 18px;
	color: var(--ptap-deep);
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	padding-left: 18px;
	padding-right: 18px;
	color: var(--ptap-blue) !important;
	font-weight: 900;
}

.woocommerce ul.products li.product .button {
	margin: 0 18px 22px !important;
}

@media (max-width: 1023px) {
	.ptap-hero-grid,
	.ptap-split,
	.ptap-product-grid {
		grid-template-columns: 1fr;
	}

	.ptap-hero-panel {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.ptap-wrap {
		width: min(100% - 28px, 1180px);
	}

	.ptap-hero {
		min-height: auto;
		padding: 88px 0 118px;
		background:
			linear-gradient(180deg, rgba(3, 24, 37, 0.9), rgba(3, 24, 37, 0.58)),
			var(--ptap-hero-image) center / cover no-repeat;
	}

	.ptap-hero-logo {
		max-width: 230px;
		margin-bottom: 26px;
	}

	.ptap-hero-panel,
	.ptap-proof-grid,
	.ptap-card-grid,
	.ptap-steps {
		grid-template-columns: 1fr;
	}

	.ptap-proof {
		margin-top: -28px;
	}

	.ptap-proof-grid span + span,
	.ptap-steps > div + div {
		border-left: 0;
		border-top: 1px solid var(--ptap-border);
	}

	.ptap-btn {
		width: 100%;
	}

	.ptap-section {
		padding: 68px 0;
	}

	.ptap-service-card {
		min-height: auto;
	}

	.ptap-product-list a {
		align-items: flex-start;
		flex-direction: column;
	}

	.ptap-cta .ptap-wrap {
		margin: 0 auto;
	}

	.ptap-page-hero {
		min-height: auto;
		padding: 78px 0;
	}

	.ptap-page-hero .ptap-wrap {
		margin: 0 auto;
	}

	.ptap-resource-grid,
	.ptap-contact-grid,
	.ptap-card-grid-wide {
		grid-template-columns: 1fr;
	}
}
