/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Global Colors */
:root {
	--color-black: #0F0F0F;
	--color-dark-gray: #6A6A6A;
	--color-gray: #B1B1B1;
	--color-medium-gray: #D1D1D1;
	--color-soft-gray: #E9E9E9;
	--color-light-gray: #FBFBFB;
	--color-white: #FFFFFF;
}

body p:last-child {margin-bottom: 0;}
body :is(ul, ol) {margin-bottom: 20px;}

.map-embed {
    position: relative;
    width: 100%;
    height: 100%;
}
.map-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.btn-icon .elementor-icon{display: block;}

/* Button Styling */
.btn-outline .elementor-button{background: none; color: var(--color-black); border: 1px solid var(--color-black);}
.btn-outline .elementor-button:hover{background: rgba(201, 201, 201, 0.29); border-color: initial; color: initial;}

.btn-text .elementor-button {
	background: none;
	padding: 0;
	color: var(--color-black);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.btn-text .elementor-button:hover{
	background: none;
	color: var(--color-dark-gray);
}

.btn-text .elementor-button:hover::after{
	background-color: var(--color-dark-gray);
}

.btn-text .elementor-button::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 7px;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='9' height='7' viewBox='0 0 9 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 6.28296L8 3.28296L5 0.282959M8 3.28296L0 3.28296' stroke='%23000000' stroke-width='0.8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg width='9' height='7' viewBox='0 0 9 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 6.28296L8 3.28296L5 0.282959M8 3.28296L0 3.28296' stroke='%23000000' stroke-width='0.8'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	flex-shrink: 0;
}

.btn-secondary .elementor-button{background: var(--color-soft-gray); color: var(--color-black); padding: 9px 14px 8px 14px; border: 1px solid transparent;}
.btn-secondary .elementor-button:hover{
	background: var(--color-dark-gray);
	color: var(--color-white);
	border: 1px solid transparent;
}

.btn-sticky .elementor-button{background: var(--color-light-gray); color: var(--color-black); padding: 19px 33px 19px 24px;}
.btn-sticky .elementor-button svg path{fill: var(--color-gray);}

.btn-sticky .elementor-button:hover{background: var(--color-black); color: var(--color-white);}
.btn-sticky .elementor-button:hover svg path{fill: var(--color-dark-gray);}

/* LEGACY TEXTS BLOCK (Sitemap/Privacy/Terms/HIPAA) */
.legacy-text-block :is(h1, h2) {margin: 60px 0 30px;}
.legacy-text-block h3 {margin: 40px 0 20px;}
.legacy-text-block :is(h1, h2, h3):first-child {margin-top: 0;}
.legacy-text-block :is(b, strong) {font-weight: 600;}

/* FORM */
.form-default .elementor-field-group {
  position: relative;
}

.form-default .elementor-field-group-marketing_acceptance .elementor-field-option,
.form-default .elementor-field-group-nonmarketing_acceptance .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
}

.form-default .elementor-field-group-marketing_acceptance input[type="checkbox"],
.form-default .elementor-field-group-nonmarketing_acceptance input[type="checkbox"] {
  margin: 0;
  margin-top: 0.3em;
  accent-color: #383838;
}

/* --- Custom select dropdown icon ----------------------------------------- */

.form-default .select-caret-down-wrapper svg {
  display: none;
}

.form-default .select-caret-down-wrapper {
  width: 12px;
  height: 7px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.495117 0.495117L5.99512 5.99512L11.4951 0.495117' stroke='%230F0F0F' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

/* --- Radio field pills (no circle, filled when checked) ------------------ */

.form-default .elementor-field-type-radio .elementor-field-label {
  margin-bottom: 10px;
}

.form-default .elementor-field-subgroup.elementor-subgroup-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.form-default .elementor-field-type-radio .elementor-field-option {
  display: inline-flex;
  align-items: center;
  padding: 4px 13px 5px 13px;
  border: 1px solid var(--color-gray);
  border-radius: 50px;
  cursor: pointer;
}

/* Remove the native radio circle but keep it accessible/clickable */
.form-default .elementor-field-type-radio .elementor-field-option input[type="radio"] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}

.form-default .elementor-field-type-radio .elementor-field-option label {
  margin: 0;
  cursor: pointer;
}

/* Selected state */
.form-default .elementor-field-type-radio .elementor-field-option:has(input[type="radio"]:checked) {
  background-color: var(--color-soft-mint-green);
  border-color: var(--color-soft-mint-green);
}

/* --- Acceptance field label color ----------------------------------------- */

.form-default .elementor-field-type-acceptance label {
  color: var(--color-dark-gray) !important;
  font-size: 0.875rem !important;
}

/* --- Remove focus outline on all fields ----------------------------------- */

.form-default .elementor-field-textual:focus,
.form-default .elementor-field-textual:focus-visible,
.form-default input:focus,
.form-default input:focus-visible,
.form-default textarea:focus,
.form-default textarea:focus-visible,
.form-default select:focus,
.form-default select:focus-visible {
  outline: none;
  box-shadow: none;
}

.form-default .elementor-field-type-html {
  margin: 0 !important;
}

.form-default .form-legacy-menu {
  display: flex;
  position: absolute;
  right: 20px;
  bottom: -35px;
  z-index: 1;
  gap: 20px;
  margin: 0;
  padding: 0;
  color: var(--color-dark-gray);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  list-style: none;
}

.form-default .form-legacy-menu li {
  margin: 0;
  padding: 0;
}

.form-default .form-legacy-menu a {
  color: var(--color-dark-gray);
  text-decoration: none;
}

.form-default .form-legacy-menu a:hover {
  color: var(--color-black);
}




/* FOOTER */
.ft-location .map-embed iframe{
	border-radius: 0 18px 18px 0;
}

.sticky-cta{position: relative; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); border-radius: 9px;}
.sticky-cta.elementor-sticky--effects{bottom: 20px !important;}

/* MEDIA SCREEN */

@media (max-width: 1024px){
	.ft-location .map-embed iframe{
		border-radius: 0 0 18px 18px;
	}
}

@media (max-width: 767px){
	.sticky-cta{box-shadow: none;}
	.sticky-cta .btn-sticky .elementor-button{box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); padding: 13px 24px 13px 18px;}
}