/* 
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
*/


/*
 ██████╗ ██╗      ██████╗ ██████╗  █████╗ ██╗
██╔════╝ ██║     ██╔═══██╗██╔══██╗██╔══██╗██║
██║  ███╗██║     ██║   ██║██████╔╝███████║██║
██║   ██║██║     ██║   ██║██╔══██╗██╔══██║██║
╚██████╔╝███████╗╚██████╔╝██████╔╝██║  ██║███████╗
 ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝  ╚═╝╚══════╝
*/

:root {
  /* Neutrals */
  --color-soft-cream: #F7EBE1;
  --color-pure-white: #FEFEFE;
  --color-light-gray: #F0F0F0;
  --color-gray: #B1B1B1;
  --color-dark-gray: #555555;
  --color-charcoal-black: #232323;

  /* Light blues */
  --color-periwinkle-tint: #C3D2E7;
  --color-dusty-periwinkle: #8CA3CC;
  --color-periwinkle-deep: #5F7DA8;

  /* Greens and browns */
  --color-frond-light: #A9C2A2;
  --color-palmetto-sage: #7C9463;
  --color-helix-bronze: #926032;
  --color-wordmark-brown: #5C4530;
}

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

.default-list :is(ul, ol) {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.default-list :is(ul, ol) > li {
  position: relative;
  padding-left: 1.25em;
}

.default-list ul > li::before {
  content: "";
  position: absolute;
  left: 0.25em;
  top: 0.6em;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background: currentColor;
}

.default-list li :is(b, strong) {
  font-weight: 500;
}

.default-list :is(ul, ol) > li:not(:last-child) {
  margin-bottom: 10px;
}

.faq-lists .elementor-icon-box-content .elementor-icon-box-description b,
.faq-lists .elementor-icon-box-content .elementor-icon-box-description strong,
.faq-lists .elementor-icon-box-content .elementor-icon-box-description a{
  font-weight: 500;
}

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

/* 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;}

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

/* --- Marketing / non-marketing acceptance checkboxes --------------------- */
.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 .elementor-field-option label,
.form-default .elementor-field-group-nonmarketing_acceptance .elementor-field-option label{
  color: #818181 !important;
}

.form-default .elementor-field-group-marketing_acceptance .elementor-field-option{
  margin-top: 40px;
}

.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 caret 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;
}

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

/* --- Remove focus outline on all field types ------------------------------*/
.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; }

/* --- Legacy links row (e.g. privacy policy link under the form) --------- */
.form-default .form-legacy-menu {
  display: flex;
  position: relative;
  left: 0;
  bottom: 0;
  z-index: 1;
  gap: 20px;
  padding: 0;
  list-style: none;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  margin: 40px 0;
}

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

.form-default .form-legacy-menu a {
  text-decoration: none;
  font-size: 0.876rem;
  color: #818181;
}

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

.form-default .form-legacy-menu li + li {
  position: relative;
}

.form-default .form-legacy-menu li + li::before {
  content: "";
  position: absolute;
  left: -10px; /* half of the 20px gap */
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background-color: #818181;
}

.form-default .elementor-button .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
}

.form-default .elementor-button .elementor-button-content-wrapper::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 11px;
  margin-left: 0;
  opacity: 0;
  background: url("data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.125 10.3245L13 5.44946L8.125 0.574463M13 5.44946L0 5.44946' stroke='white' stroke-width='1.625'/%3E%3C/svg%3E") no-repeat center / 15px 11px;
  transition: width 0.25s ease, margin-left 0.25s ease, opacity 0.25s ease;
}

.form-default .elementor-button:hover .elementor-button-content-wrapper::after,
.form-default .elementor-button:focus-visible .elementor-button-content-wrapper::after {
  width: 15px;
  margin-left: 8px;
  opacity: 1;
}

/* BUTTONS */
/* Shared arrow (both variants) */
.btn-primary .elementor-button-content-wrapper,
.btn-outline .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
}

.btn-primary .elementor-button-content-wrapper::after,
.btn-outline .elementor-button-content-wrapper::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 11px;
  margin-left: 0;
  opacity: 0;
  background: url("data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.125 10.3245L13 5.44946L8.125 0.574463M13 5.44946L0 5.44946' stroke='white' stroke-width='1.625'/%3E%3C/svg%3E") no-repeat center / 15px 11px;
  transition: width 0.25s ease, margin-left 0.25s ease, opacity 0.25s ease;
  pointer-events: none;
}

.btn-primary .elementor-button:hover .elementor-button-content-wrapper::after,
.btn-primary .elementor-button:focus-visible .elementor-button-content-wrapper::after,
.btn-outline .elementor-button:hover .elementor-button-content-wrapper::after,
.btn-outline .elementor-button:focus-visible .elementor-button-content-wrapper::after {
  width: 15px;
  margin-left: 8px;
  opacity: 1;
}

/* Outline variant */
.btn-outline .elementor-button {
  background-color: transparent !important;
  border: 1px solid var(--color-palmetto-sage) !important;
  color: var(--color-palmetto-sage) !important;
}

.btn-outline .elementor-button:hover,
.btn-outline .elementor-button:focus-visible {
  background-color: transparent !important;
  border-color: var(--color-palmetto-sage) !important;
  color: var(--color-palmetto-sage) !important;
}

.btn-outline .elementor-button-content-wrapper::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.125 10.3245L13 5.44946L8.125 0.574463M13 5.44946L0 5.44946' stroke='%237C9463' stroke-width='1.625'/%3E%3C/svg%3E");
}

/* MEDIA SCREEN */
@media (max-width: 1024px){
  .form-default .elementor-field-group-marketing_acceptance .elementor-field-option{
    margin-top: 20px;
  }

  .form-default .form-legacy-menu{
    margin: 20px 0 40px;
  }
}