@media (min-width: 1023.99px) {
    body {
        --keystone-h1-font-size: 58px;
        --keystone-h2-font-size: 48px;
        --keystone-h3-font-size: 32px;
        --keystone-h4-font-size: 20px;
        --keystone-h5-font-size: 18px;
    }
    .e-con.hero-section h1.ekit-fancy-text,
    .e-con.hero-section h1.elementskit-section-title {
        font-size: 64px;
    }
}

.page-header .entry-subtitle,
.ekit-heading__description p {
    font-size: calc(var(--font-size-paragraphs) + 2px);
}

h3.elementskit-section-title+.ekit-heading__description p,
h4.elementskit-section-title+.ekit-heading__description p,
h5.elementskit-section-title+.ekit-heading__description p,
h6.elementskit-section-title+.ekit-heading__description p {
    font-size: var(--font-size-paragraphs);
}

.site .ekit-wid-con .ekit-form form input[type=submit],
.ekit-wid-con .elementskit-single-pricing .elementskit-pricing-btn,
.ekit-wid-con .elementskit-btn {
    --font-size-default: var(--font-size-paragraphs)
}

div.ekit-wid-con .elementskit-section-subtitle.elementskit-style-border::before,
div.ekit-wid-con .elementskit-section-subtitle.elementskit-style-border::after {
    height: 1px;
    transform: translateY(-2px);
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    background-color: var(--e-global-color-primary);
    width: 23px;
    margin: 0 10px;
}

.ekit-wid-con .ekit-breadcrumb,
.page-header .breadcrumbs {
    font-weight: var(--e-global-typography-accent-font-weight);
}

.breadcrumbs li a,
.ekit-wid-con ol.ekit-breadcrumb>li a {
    opacity: 1;
}

.keystone-container .keystone-card.type-keystone-portfolio .medium-size-thumb {
    aspect-ratio: 1.1;
}

.ekit-wid-con .elementskit-single-pricing .elementskit-pricing-btn,
.ekit-wid-con .elementskit-btn {
    border-color: var(--color-border);
}

.ekit-wid-con .ekit-post-list-wrapper span.elementor-icon-list-text {
    font-weight: var(--keystone-h4-font-weight);
    font-size: calc(var(--keystone-h4-font-size) + 2px);
    line-height: var(--keystone-h4-line-height);
    letter-spacing: var(--keystone-h4-letter-spacing); 
}

/* WooCommerce buttons → match Elementor default button style */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce .products a.button,
.woocommerce .products .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce a.add_to_cart_button,
.woocommerce a.ajax_add_to_cart,
.woocommerce .added_to_cart,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	vertical-align: middle;
	/* Typography pulled from Elementor globals when available */
	font-family: var(--e-global-typography-accent-font-family, inherit);
	font-weight: var(--e-global-typography-accent-font-weight, 600);
	text-transform: var(--e-global-typography-accent-text-transform, none);
	letter-spacing: var(--e-global-typography-accent-letter-spacing, 0);
	line-height: 1;
	/* Spacing + shape follow Elementor button controls when present */
	padding: var(--e-button-padding-vertical, 12px) var(--e-button-padding-horizontal, 24px);
	border-radius: var(--e-button-border-radius, 4px);
	border-width: var(--e-button-border-width, 1px);
	border-style: solid;
	/* Colors */
	color: var(--e-global-color-on-primary, #ffffff);
	background-color: var(--e-global-color-primary, #6EC1E4);
	border-color: var(--e-global-color-primary, #6EC1E4);
	background-image: linear-gradient(
		52deg,
		var(--e-global-color-accent) 25%,
		var(--e-global-color-8bf2c77) 100%
	);
	/* Effects */
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}

.woocommerce div.product div.woocommerce-tabs ul.tabs li a:hover{
    color:var(--e-global-color-accent) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--e-global-color-light, #ffffff);
    border-radius: var(--global-border-radius);
}

/* Hover */
.woocommerce ul.products li.product a.button:hover,
.woocommerce .products a.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.add_to_cart_button:hover,
.woocommerce .added_to_cart:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-info .button:hover {
	text-decoration: none;
	color: var(--e-global-color-on-primary, #ffffff);
	background-color: var(--e-global-color-primary-hover, var(--e-global-color-primary, #6EC1E4));
	border-color: var(--e-global-color-primary-hover, var(--e-global-color-primary, #6EC1E4));
	background-image: linear-gradient(
		232deg,
		var(--e-global-color-accent) 25%,
		var(--e-global-color-8bf2c77) 100%
	);
	filter: brightness(0.95);
}

/* Focus (non focus-visible) */
.woocommerce ul.products li.product a.button:focus,
.woocommerce .products a.button:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:focus,
.woocommerce .single_add_to_cart_button:focus,
.woocommerce a.add_to_cart_button:focus,
.woocommerce .added_to_cart:focus,
.woocommerce .woocommerce-message .button:focus,
.woocommerce .woocommerce-error .button:focus,
.woocommerce .woocommerce-info .button:focus {
	text-decoration: none;
	color: var(--e-global-color-on-primary, #ffffff);
	padding: 10px 20px;
	background-color: var(--e-global-color-primary-hover, var(--e-global-color-primary, #6EC1E4));
	border-color: var(--e-global-color-primary-hover, var(--e-global-color-primary, #6EC1E4));
	background-image: linear-gradient(
		232deg,
		var(--e-global-color-accent) 25%,
		var(--e-global-color-8bf2c77) 100%
	);
	/* Slightly different from hover for clarity; focus-visible outline is defined below */
}

/* Active / Focus-visible for accessibility parity with Elementor */
.woocommerce a.button:active,
.woocommerce a.button:focus-visible,
.woocommerce button.button:active,
.woocommerce button.button:focus-visible,
.woocommerce input.button:active,
.woocommerce input.button:focus-visible,
.woocommerce #respond input#submit:active,
.woocommerce #respond input#submit:focus-visible,
.woocommerce .single_add_to_cart_button:active,
.woocommerce .single_add_to_cart_button:focus-visible,
.woocommerce a.add_to_cart_button:active,
.woocommerce a.add_to_cart_button:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--e-global-color-primary, #6EC1E4), #000 15%);
	outline-offset: 1px;
}

/* Disabled state */
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce .single_add_to_cart_button.disabled,
.woocommerce .single_add_to_cart_button:disabled {
	opacity: .5;
	cursor: not-allowed;
	pointer-events: none;
}

/* Outline-style variant aligning to Elementor's outline when used */
.woocommerce a.button.outline,
.woocommerce button.button.outline,
.woocommerce input.button.outline {
	background-color: transparent;
	color: var(--e-global-color-primary, #6EC1E4);
	border-color: currentColor;
}
.woocommerce a.button.outline:hover,
.woocommerce button.button.outline:hover,
.woocommerce input.button.outline:hover {
	background-color: rgba(0,0,0,0.03);
}

/* Alt variant – keep consistent with primary look unless theme styles change it */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button.button.alt {
	color: var(--e-global-color-on-primary, #ffffff);
	background-color: var(--e-global-color-primary, #6EC1E4);
	border-color: var(--e-global-color-primary, #6EC1E4);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .single_add_to_cart_button.button.alt:hover {
	background-color: var(--e-global-color-primary-hover, var(--e-global-color-primary, #6EC1E4));
	border-color: var(--e-global-color-primary-hover, var(--e-global-color-primary, #6EC1E4));
}

/* AJAX add-to-cart loading state */
.woocommerce a.add_to_cart_button.loading,
.woocommerce a.ajax_add_to_cart.loading,
.woocommerce button.single_add_to_cart_button.loading {
	opacity: .85;
	cursor: wait;
}
.woocommerce a.add_to_cart_button.added,
.woocommerce a.ajax_add_to_cart.added {
	/* keep consistent after item added */
	color: var(--e-global-color-on-primary, #ffffff);
	background-color: var(--e-global-color-primary, #6EC1E4);
	border-color: var(--e-global-color-primary, #6EC1E4);
}

/* Buttons that include icons */
.woocommerce a.button .dashicons,
.woocommerce button.button .dashicons,
.woocommerce input.button .dashicons,
.woocommerce #respond input#submit .dashicons {
	font-size: 1.1em;
	line-height: 1;
}

