/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Astra Child Theme
Author: Your Name
Author URI: https://yourwebsite.com
Template: astra
Version: 1.0.0
*/

/* Add custom CSS below */

h1,h2,h3,h4,h5,h6, .gilroy-font {  font-family: 'Gilroy' !important; }
h2 span, h1 span { font-weight:300; }
h2 strong { color:#f02841; }
.entry-content p { margin:0; margin-bottom:0; }
a:focus, button:focus {
    outline: none !important; border:none !important;
}
body .karla-font h4 { font-family: "Karla", Sans-serif !important; }
ul, li { margin:0; padding:0; list-style: none; }
header.site-header { top:50px; position: absolute; left:0; right:0; }
.ast-primary-header-bar { background-color: transparent !important; }
.ast-container { max-width:100%; width:100%; padding:0;}
.e-con-boxed.e-con>.e-con-inner, header { max-width:1650px; width:96%; margin:0px auto; }
.border-heading h4 {
  border-bottom: 1px solid #06b97a;
  padding-bottom:5px;
}

.custom-btn .elementor-button {
   display:inline-block;
   font-family: 'Gilroy' !important;
    color:#ffffff;
    font-weight:600 !important;
    border-radius:60px;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(0,0,0,0.45);
    transition:all .3s ease;
    letter-spacing: 0.5px;
}
.custom-btn .elementor-button:hover {
    background:#001C4C !important;
    transform:translateY(-2px);
}
.hover-green .elementor-button:hover {
     background:#06b97a !important;
}
.red-btn .elementor-button {
    background:#f02841 !important;
    padding:25px 45px;  
}
.red-btn .elementor-button span {
     font-size:26px;
     line-height: 28px;
}
.red-btn .elementor-button:hover {
    box-shadow:0 15px 30px rgba(0,0,0,0.20);
}
/* .small-btn .elementor-button {
    padding:20px 35px;
}
.small-btn .elementor-button span { font-size: 22px; } */
.blue-btn .elementor-button {
    background:#001c4c !important;
    padding:14px 60px;  
    color:#06b97a !important;
}
.blue-btn .elementor-button span {
    font-size: 20px;
}
.blue-btn .elementor-button:hover  {
    background:#06b97a !important; 
    color:#001c4c !important;
}
header li { padding:0px 10px; }
header .menu-link { font-size: 16px; padding:0; letter-spacing: 0.5px; color:#001c4c !important; line-height: 20px; font-family: 'Gilroy' !important; font-weight: bold; text-transform: uppercase; }
body header .menu-link:hover { color:#f02841 !important; }
.page-id-1343 header .menu-link, .page-id-8 header .menu-link, .page-id-3328 header .menu-link, .page-id-2546 header .menu-link, .page-id-3206 header .menu-link {
    color:#fff !important;
}
.page-id-1343 .site-logo-img .custom-logo, .page-id-8 .site-logo-img .custom-logo, .page-id-3328 .site-logo-img .custom-logo,  .page-id-2546 .site-logo-img .custom-logo, .page-id-3206 .site-logo-img .custom-logo {
    content: url('images/logo-white.png');
}
.top-blue-bar { background:#001b4c; padding:15px 0; overflow:hidden; }

.topbar-items {
    max-width:1650px;
    width:98%;
    margin:0px auto;
    overflow:hidden;
}

.topbar-track {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    width:max-content;
    min-width:max-content;
    gap:140px;
    animation: scroll var(--marquee-duration, 30s) linear infinite;
    will-change: transform;
}

.topbar-item {
    color:#ffffff;
    font-size:19px;
    font-weight: 300;
    display:flex;
    flex:0 0 auto;
    align-items:center;
    font-style: italic;
    font-family: 'Karla' !important;
    gap:6px;
}

.topbar-item::before{
    content:"";
    width:18px;
    height:17px;
    background: url("images/checkmark.png") no-repeat;
}
.ast-header-search .search-field::placeholder, .ast-header-search .ast-icon {
    color: #001b4c;
}
.page-id-1343 .ast-header-search .search-field::placeholder, .page-id-1343 .ast-header-search .ast-icon, .page-id-3328 .ast-header-search .search-field::placeholder, .page-id-3328 .ast-header-search .ast-icon, .page-id-8 .ast-header-search .search-field::placeholder, .page-id-8 .ast-header-search .ast-icon, .page-id-2546 .ast-header-search .search-field::placeholder, .page-id-2546 .ast-header-search .ast-icon, .page-id-3206 .ast-header-search .search-field::placeholder, .page-id-3206 .ast-header-search .ast-icon {
    color: #fff !important;
}
.mobile-menu-toggle-icon .ast-menu-svg { fill: #001b4c !important;  }
.page-id-1343 .mobile-menu-toggle-icon .ast-menu-svg, .page-id-3328 .mobile-menu-toggle-icon .ast-menu-svg, .page-id-8 .mobile-menu-toggle-icon .ast-menu-svg, .page-id-2546 .mobile-menu-toggle-icon .ast-menu-svg, .page-id-3206 .mobile-menu-toggle-icon .ast-menu-svg { color:#fff !important; }
header .ast-dropdown-active .icon-search { color:#001b4c !important; }
.ast-search-menu-icon.slide-search .search-form { opacity: 1; right:3px; visibility: inherit; background-color: transparent; border:0 !important; }
.ast-search-menu-icon.slide-search .search-form input { padding:5px; height: 34px; padding-right: 35px; background-color: transparent !important; border:1px solid #001b4c !important; color:#001b4c; }
.page-id-1343 .ast-search-menu-icon.slide-search .search-form input, .page-id-3328 .ast-search-menu-icon.slide-search .search-form input, .page-id-8 .ast-search-menu-icon.slide-search .search-form input, .page-id-2546 .ast-search-menu-icon.slide-search .search-form input, .page-id-3206 .ast-search-menu-icon.slide-search .search-form input {  border:1px solid #fff !important; color:#fff; }
.main-header-bar-navigation { margin-right: 90px; }
.ast-header-search .ast-icon { margin-right: 13px; }
.logo-wrapper .e-con-inner {
    overflow: hidden;
}
.logo-wrapper .logo-track {
    display:flex !important;
    align-items:center;
    width:max-content;
    min-width:max-content;
    gap:80px;
    animation: scroll var(--marquee-duration, 40s) linear infinite;
    will-change: transform;
}
.logo-track:hover {
    animation-play-state: paused;
}
.topbar-track:hover {
    animation-play-state: paused;
}
@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-1 * var(--marquee-distance, 50%)));
  }
}
.logo-track .elementor-widget-image {
    flex: 0 0 auto;
    width: 200px;
    max-width: 200px !important;
    height:60px;
    margin:0;
}
.logo-track .elementor-widget-image img { width:100%; height:100%; object-fit: contain;  }
.green-gradient { background: linear-gradient(to right,  #4ad2d2 0%,#49cfce 2%,#48d0ce 4%,#47cfcb 4%,#47cfcd 5%,#47cfcb 6%,#44cfca 6%,#41ccc5 12%,#3ccdc0 16%,#3eccc0 18%,#3bccbf 18%,#3acbbc 19%,#39ccbc 22%,#38cbb9 22%,#38cbbb 23%,#37cab8 23%,#33c8b2 32%,#30c8b1 32%,#2bc5a9 40%,#29c6a7 41%,#2ac5a6 43%,#27c5a4 43%,#29c4a5 44%,#26c4a3 44%,#25c5a3 47%,#24c4a0 47%,#25c3a2 48%,#24c4a2 48%,#23c39f 48%,#23c39f 51%,#22c29c 51%,#1fc19a 56%,#1fc198 57%,#1cc197 57%,#19be93 63%,#17bf8e 65%,#13bd8c 68%,#15bd8c 70%,#12bc8b 70%,#0ebd86 76%,#07b97b 84%,#06b87a 100%); }


.container-section.e-con-boxed.e-con>.e-con-inner { max-width:1200px; width:90%; margin:0px auto; }
.container-small.e-con-boxed.e-con>.e-con-inner { max-width:900px; width:90%; margin:0px auto; }
.container-large.e-con-boxed.e-con>.e-con-inner { max-width:1400px; }
.faq-section .e-n-accordion-item-title { border:0 !important; padding-bottom: 35px !important; }
.faq-section .e-n-accordion-item-title-text {  font-family: 'Gilroy' !important; }
.care-guide-faq .e-n-accordion-item-title-text { font-family: "Karla", Sans-serif !important; }
.faq-section .e-n-accordion-item { border-top: 1px solid #57d4d6; }
.faq-section .e-n-accordion-item-title-icon {
    background-color: #06b97a; width: 50px !important;
    height: 50px;
    display: flex !important;
    color:#fff;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    flex-shrink: 0;
}
.faq-section.care-guide-faq .e-n-accordion-item-title { padding:25px 0px 10px 0px !important;  border-bottom:1px solid #06b97a !important; }
.faq-section.care-guide-faq .e-n-accordion-item-title-icon {  transition: transform 0.3s ease; background-color: transparent; width:auto !important; height:auto !important; }
.faq-section.care-guide-faq .e-n-accordion-item-title-icon .e-opened { transform: rotate(-90deg); }
.faq-section.care-guide-faq .e-n-accordion-item { border-top: 0; gap:15px; }
.whatsapp-section { max-width:800px !important; width:96%; margin:0px auto !important; }
.tick-list li {
    position: relative; font-style: italic; margin:5px 0; padding-left: 25px;
}
.tick-list li:before {
    content:"";
    width:18px;
    height:17px;
    background: url("images/checkmark-white.png") no-repeat;
    top:7px;
    left:0;
    position:absolute;
}
.inline-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.turbo-footer-template .e-con-inner { max-width:92% !important; }
.position-relative { position: relative !important; }
.logomark { position:absolute !important; left:-110px; bottom:0; }
.logomark img { max-width: 600px !important; width:100%; }
.quote-block { position: relative; }
.quote-block::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 5px;
  background-color: white;
}
#ast-scroll-top { background-color:#f02841 !important; }
.card-shadow {
  -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  -moz-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  flex-grow: 1 !important;
}
.container-outside-img {
    overflow: visible !important;
    margin-right: calc(-1 * (100vw - 100%) / 2) !important;
}
.container-outside-img .elementor-widget-image, .container-outside-img .elementor-widget-image img { height:100%; }
.dot-list li {
    position: relative !important; padding-left: 20px !important;
}
.dot-list li:before { content:''; position: absolute; left:0; top:9px; background-color: #06b87a; width:12px; height:12px; border-radius: 30px; }



/* Remove default input borders and add underline style */
.wpforms-container .wpforms-field { padding-bottom:25px !important; }
.wpforms-form .wpforms-field input[type="text"],
.wpforms-form .wpforms-field input[type="email"],
.wpforms-form .wpforms-field input[type="number"],
.wpforms-form .wpforms-field textarea {
  background: transparent;
  border: none;
  border-bottom: 1.5px solid #06b97a;
  border-radius: 0;
  box-shadow: none;
  padding: 8px 0;
  font-size: 15px;
  color: #000;
  outline: none;
  width: 100%;
  max-width:100%;
}
.wpforms-form .wpforms-field input[type="text"].wpforms-error,
.wpforms-form .wpforms-field input[type="email"].wpforms-error,
.wpforms-form .wpforms-field input[type="number"].wpforms-error,
.wpforms-form .wpforms-field textarea.wpforms-error, div.wpforms-container-full .wpforms-form .wpforms-field input.wpforms-error:hover {
    border:0 !important;
    border-bottom:1px solid#D63637 !important;
    box-shadow:none !important;
}

/* Focus state */
.wpforms-form .wpforms-field input:focus,
.wpforms-form .wpforms-field textarea:focus {
  border: none !important;
  border-bottom: 1.5px solid #06b97a !important;
  box-shadow: none !important;
}

/* Labels */
.wpforms-form .wpforms-field-label {
  font-size: 21px !important;
  font-weight: 500;
  color: #000;
  margin-bottom: 22px !important;
  letter-spacing: 0.7;
}

/* Textarea */
.wpforms-form .wpforms-field textarea {
  resize: none;
  height: 80px;
}

/* Submit button */
.wpforms-form .wpforms-submit {
    font-family: 'Gilroy' !important;
    color:#ffffff !important;
    font-weight:600 !important;
    border-radius:60px !important;
    text-decoration:none !important;
    box-shadow:0 8px 18px rgba(0,0,0,0.45) !important;
    transition:all .3s ease !important;
    letter-spacing: 0.5px !important;
    background:#001c4c !important;
    padding:14px 60px !important;  
    color:#06b97a !important;
    cursor: pointer;
    height:auto !important;
}

.wpforms-form .wpforms-submit:hover {
   background:#06b97a !important; 
   color:#001c4c !important;
   transform:translateY(-2px);
}
/* Remove focus outline on submit button */
.wpforms-form .wpforms-submit:focus:after,
.wpforms-form .wpforms-submit:focus-visible:after {
  outline: none !important;
  border: none !important;
}
.small-dot-list ul { padding-left: 0; }
.small-dot-list ul li {
    position: relative; padding-left:10px !important; font-size:18px; font-family: "Karla", Sans-serif; line-height:19px; font-weight:400; margin:2px 0;
}
.small-dot-list ul li:before {
    content:''; position: absolute; border-radius: 10px; left:0; top:9px; width:4px; height:4px; background-color: #000;
}
.small-dot-list ul li ul li:before { border:1px solid #000; width:6px; height:6px; top:7px; background-color: transparent; }
.small-dot-list ul li ul { padding-left:15px; }
.white-dot-list ul li:before { background-color:#fff; }
.small-dot-list.green-tick-list li { padding-left:20px !important; }
.small-dot-list.green-tick-list li:before {
    content:"";
    width:18px;
    height:17px;
    background: url("images/checkmark-green.png") no-repeat;
    top:3px;
    left:0;
    position:absolute;
}
.small-dot-list.green-tick-list.black-tick-list li:before { background: url("images/checkmark-black.png") no-repeat;  }
.single-post .ast-container { max-width:100% !important; width:100%; }
header.entry-header { display: none; }
.vm-hero-excerpt p {
    font-size: 19px !important;
    color: #231f20;
    margin: 0;
    line-height:26px;
    margin-bottom:20px;
   font-family: 'Karla' !important;
    font-weight: 400;
}
.vm-hero-meta {
    font-size: 19px;
    color: #231f20;
    margin-bottom:25px;
    font-weight:500;
    font-family: 'Karla' !important;
    font-weight: 400;
}

.vm-insta {
    padding: 100px 0 80px 0;
    text-align: center;
}

.vm-insta-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}
.vm-insta-grid a { height:400px; overflow:hidden; }
.vm-insta-tile img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.vm-insta-title { color:#001c4c; margin-bottom:60px; padding-left:15px; padding-right:15px; }

/* =============================================
   Post Hero Banner
   Add to: your child theme's style.css
   or enqueue as a separate CSS file
   ============================================= */
.ast-separate-container { background-color:#fff; }
.single-post.ast-separate-container #primary { margin:0 !important; }
.post-hero-banner {
	position: relative;
	width: 100%;
	min-height: 700px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 0px;
	overflow: hidden;
	margin-bottom: 90px;
	display: flex;
	align-items: flex-end;
    border-radius:0px 0px 60px 60px;
    padding-bottom:70px;
}

/* .post-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.65) 0%,
		rgba(0, 0, 0, 0.25) 55%,
		rgba(0, 0, 0, 0) 100%
	);
} */

.post-hero-content, .post-hero-meta {
	position: relative;
	z-index: 2;
	max-width: 1400px;
    width: 90%;
    margin: 0px auto;
}

.post-hero-title {
	color: #ffffff;
	font-weight: 800;
	max-width: 70%;
    width:100%;
}
.site .comments-area { margin:0; padding:0; }
.post-hero-meta { font-size:17px; line-height:22px; margin-bottom:20px; }
.entry-content[data-ast-blocks-layout] > * { max-width:100% !important; }
.ast-separate-container .ast-article-single { padding:0; }
.comment-respond, .post-navigation { display: none; }
.container-medium { max-width:1100px; margin:0px auto; }
.pages-list ul { display:flex; flex-wrap:wrap; padding:0; margin:0; }
.pages-list ul li {
    margin: 0px 5px;
}
.pages-list ul li, .pages-list ul li a {
     font-size:14px; font-weight: 300; color:#000; 
    letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none !important; transition: .3s;
}
.pages-list ul li a.active, .pages-list ul li a:hover { color:#f02841; font-weight:600;  }
.custom-table { overflow-x:auto; overflow: hidden; }
.custom-table table { border:0; }
.custom-table tr th { text-align: left; color:#001C4C; font-family: "Karla", Sans-serif; padding:20px 10px; border:0; border-bottom:1px solid #06b97a; font-size:25px; font-weight:600; }
.custom-table tr td {
    padding:20px 10px; vertical-align: top; border:0; font-family: "Karla", Sans-serif; border-bottom:1px solid #06b97a; font-size:18px; font-weight:400;
}
.custom-table tr td:first-child { font-weight:bold; width: 25%; }
.custom-table tr td:nth-child(2) { width: 32%; }


.accordian-title-images .e-n-accordion-item-title-header:before {
  content: "";
  display: inline-block;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background-size: cover;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin-right: 20px;
}
.accordian-title-images .e-n-accordion-item-title-header { align-items: center; }
.accordian-title-images #e-n-accordion-item-3010 .e-n-accordion-item-title-header:before {
    background-image: url("images/MyFitnessPal.jpg");
}
.accordian-title-images #e-n-accordion-item-3011 .e-n-accordion-item-title-header:before {
    background-image: url("images/water-reminder-app.png");
}
.accordian-title-images #e-n-accordion-item-3012 .e-n-accordion-item-title-header:before {
    background-image: url("images/calm-app.png"); width:100px;
}
.accordian-title-images #e-n-accordion-item-3013 .e-n-accordion-item-title-header:before {
    background-image: url("images/happy-scale.png");
}

.ast-separate-container #primary, .ast-separate-container #content .ast-container { padding:0 !important; }
.wpml-ls-item .sub-menu { width:150px !important; padding:0 !important; margin:0 !important; }
.wpml-ls-item .sub-menu .wpml-ls-native { color:#001b4c !important; }
.wpml-ls-item .sub-menu a { padding:5px 10px !important; }
.wpml-ls-item { border:1px solid #001b4c; padding:3px 0; }
.page-id-3206 .wpml-ls-item, .page-id-3328 .wpml-ls-item, .page-id-8 .wpml-ls-item { border-color:#fff; }
#ast-mobile-header .ast-mobile-header-content .wpml-ls-item {
    display: none !important;
}

/* Show it in our moved location */
.vidamed-mobile-lang {
    display: none;
}

.page-id-3287 .top-blue-bar, .page-id-3287 .site-header-primary-section-right  { display:none; }

/* ================================================
   CARE GLP FORM REDESIGN
   ================================================ */


#glp-multistep {
    max-width: 780px;
    margin: 0px auto;
    font-family: "Karla", Sans-serif;
    margin-top: 150px;
    width: 90%;
    margin-bottom: 60px;
}

/* Progress Bar */
#glp-form::before {
    content: '';
    display: block;
    height: 42px;
    margin-bottom: 40px;
    position: absolute;
    top: 0;
    width: 100%;
}

#glp-form:has(.glp-step[data-step="1"].active)::before  { background: linear-gradient(to right, #f02841 8%, #4dd2d4 8%); }
#glp-form:has(.glp-step[data-step="2"].active)::before  { background: linear-gradient(to right, #f02841 15%, #4dd2d4 15%); }
#glp-form:has(.glp-step[data-step="3"].active)::before  { background: linear-gradient(to right, #f02841 23%, #4dd2d4 23%); }
#glp-form:has(.glp-step[data-step="4"].active)::before  { background: linear-gradient(to right, #f02841 31%, #4dd2d4 31%); }
#glp-form:has(.glp-step[data-step="5"].active)::before  { background: linear-gradient(to right, #f02841 38%, #4dd2d4 38%); }
#glp-form:has(.glp-step[data-step="6"].active)::before  { background: linear-gradient(to right, #f02841 46%, #4dd2d4 46%); }
#glp-form:has(.glp-step[data-step="7"].active)::before  { background: linear-gradient(to right, #f02841 54%, #4dd2d4 54%); }
#glp-form:has(.glp-step[data-step="8"].active)::before  { background: linear-gradient(to right, #f02841 62%, #4dd2d4 62%); }
#glp-form:has(.glp-step[data-step="9"].active)::before  { background: linear-gradient(to right, #f02841 69%, #4dd2d4 69%); }
#glp-form:has(.glp-step[data-step="10"].active)::before { background: linear-gradient(to right, #f02841 77%, #4dd2d4 77%); }
#glp-form:has(.glp-step[data-step="11"].active)::before { background: linear-gradient(to right, #f02841 85%, #4dd2d4 85%); }
#glp-form:has(.glp-step[data-step="12"].active)::before { background: linear-gradient(to right, #f02841 92%, #4dd2d4 92%); }
#glp-form:has(.glp-step[data-step="13"].active)::before { background: #f02841; }

/* Step */
.glp-step {
    display: none;
}
.glp-step.active {
    display: block;
}

/* Headings */
.glp-step h2 {
    color: #001c4c !important;
    text-align: center !important;
    margin-bottom: 20px !important;
    font-weight: 600 !important;
    font-size: 60px !important;
}

/* Inputs */
#glp-form input[type="text"],
#glp-form input[type="email"],
#glp-form input[type="tel"],
#glp-form input[type="number"],
#glp-form input[name="name"],
#glp-form input[name="phone"],
#glp-form input[name="zip"],
#glp-form textarea,
input[type="date"],
#glp-form select {
    width: 100%;
    border: none;
    border-bottom: 2px solid #001c4c;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    font-size: 18px !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    margin-bottom: 15px !important;
    color: #001c4c !important;
    font-weight: 600;
}
#glp-form .error { border-color: #f02841 !important; }
#glp-form .mb-3 { margin-bottom: 30px; }
#glp-form input::placeholder,
#glp-form textarea::placeholder {
    color: #999 !important;
}
#glp-form .mb-8 { margin-bottom: 80px !important; }

/* Two column layout for step 1 */
.glp-step[data-step="1"] {
    display: none;
}
.glp-step[data-step="1"].active {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 60px;
    align-items: end;
}

.glp-step[data-step="1"] h2 {
    grid-column: 1 / -1;
}

.glp-step[data-step="1"] input[name="name"]  { grid-column: 1; }
.glp-step[data-step="1"] input[name="phone"] { grid-column: 2; }
.glp-step[data-step="1"] input[name="email"] { grid-column: 1; }
.glp-step[data-step="1"] input[name="zip"]   { grid-column: 2; }

.glp-step[data-step="1"] .next {
    grid-column: 2;
    justify-self: end;
}

/* reCAPTCHA in step 1 */
.glp-step[data-step="1"] .g-recaptcha,
.glp-step[data-step="1"] #recaptcha,
.glp-step[data-step="1"] [class*="recaptcha"],
.glp-step[data-step="1"] [id*="recaptcha"] {
    grid-column: 1;
}

/* Options (radio/checkbox) */
.glp-question {
    font-size: 30px !important;
    font-weight: 600 !important;
    color: #000 !important;
    text-align: center !important;
    margin-bottom: 30px !important;
    font-family: "Karla", Sans-serif;
    line-height: 37px;
}

.glp-options {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 24px;
}
.glp-step .mb-5 { margin-bottom: 50px !important; }
.glp-step label.glp-option {
    display: flex !important;
    align-items: center !important;
    border: 2px solid #001c4c !important;
    border-radius: 12px !important;
    padding: 18px 18px !important;
    cursor: pointer !important;
    font-size: 30px !important;
    line-height:30px;
    color: #001c4c !important;
    font-weight: 500 !important;
    transition: border-color 0.2s, background 0.2s !important;
    background: #fff !important;
}

.glp-step label.glp-option:hover {
    border-color: #06b97a !important;
}

.glp-option input[type="radio"],
.glp-option input[type="checkbox"] {
    display: none !important;
    width: auto !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Selected state */
.glp-option:has(input:checked) {
    border-color: #06b97a !important;
}

/* Option letter prefix — added via CSS counter */
.glp-options {
    counter-reset: option-counter;
}
.glp-option {
    counter-increment: option-counter;
}
.glp-option::before {
    content: counter(option-counter, lower-alpha) ". ";
    font-weight: 700;
    color: #001c4c;
    margin-right: 8px;
    min-width: 27px;
}

/* Hide counter for consent checkbox */
.glp-consent::before {
    display: none !important;
}
.glp-consent input[type="checkbox"] {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    margin-right: 12px !important;
    border: 2px solid #001c4c !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    margin-top:7px !important;
}

/* Buttons */
#glp-form button.next,
#glp-form button.prev,
#glp-form #fakeSubmit,
#glp-form #submit-payment {
    display: inline-block;
    font-family: 'Gilroy' !important;
    color: #ffffff;
    font-weight: 600 !important;
    border-radius: 60px;
    text-decoration: none;
    transition: all .3s ease;
    letter-spacing: 0.5px;
    font-size: 26px;
    line-height: 28px;
    width: 100%;
}

#glp-form button.next,
#glp-form #fakeSubmit,
#glp-form #submit-payment {
    background: #001c4c !important;
    color: #fff !important;
}

#glp-form button.next:hover,
#glp-form #fakeSubmit:hover {
    background: #f02841 !important;
    color: #fff !important;
    text-decoration: none !important;
}

#glp-form button.prev {
    background: transparent !important;
    color: #001c4c !important;
    border: 2px solid #001c4c !important;
}

#glp-form button.prev:hover {
    background: #001c4c !important;
    color: #fff !important;
}

.glp-navigation {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 30px !important;
    gap: 16px !important;
}

/* Back button stays fixed width, Next/Submit fills remaining space */
.glp-navigation button.prev,
.glp-navigation button.next,
.glp-navigation #submit-payment {
    flex: 1;
    width: 50% !important;
    min-width: unset;
}

/* Step 1 single continue button */
.glp-step[data-step="1"] button.next {
    grid-column: 1 / -1 !important;
}

/* Select dropdown */
.glp-select-wrapper {
    margin-bottom: 20px;
}

#glp-form .glp-select {
    border: 2px solid #dde3ee !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    margin-bottom: 0 !important;
    height: 55px;
}

/* Info box */
.glp-info-box {
    position: relative;
    font-size: 22px;
    font-family: "Karla", Sans-serif;
    line-height: 25px;
    font-weight: 400;
    margin: 40px 0;
}

.glp-info-box.small-dot-list li {
    margin-bottom: 6px;
    font-size: 22px;
    line-height: 25px;
    font-weight: 400;
}

/* Note */
.glp-note {
    font-size: 23px !important;
    color: #000 !important;
    text-align: center !important;
    margin-bottom: 16px !important;
    font-weight: 400;
    font-family: "Karla", Sans-serif;
    line-height: 30px;
}

/* Upload box */
.glp-upload-box {
    border: 2px dashed #2a9d8f;
    border-radius: 12px;
    padding: 40px 20px;
    text-align: center;
    cursor: pointer;
    color: #666;
    margin-bottom: 30px;
    transition: background 0.2s;
}

.glp-upload-box:hover {
    background: rgba(42, 157, 143, 0.04);
}

/* Upload preview image */
.glp-preview-img {
    max-width: 100%;
    border-radius: 8px;
    margin-top: 12px;
    display: block;
}

/* Field label */
.glp-step label {
    font-size: 31px !important;
    font-weight: 500 !important;
    color: #000 !important;
    margin-bottom: 20px !important;
    display: block !important;
    line-height:35px;
}

/* Error text */
.glp-error-text {
    color: #e63946 !important;
    font-size: 15px !important;
    display: block;
    font-weight: 500;
}
.glp-help-text { font-size: 19px; line-height: 20px; }

/* Consent box */
.glp-consent-box {
    border: none;
    padding: 0;
    margin-bottom: 20px;
}

/* Consent label text — smaller than option labels for readability */
.glp-consent span {
    font-size: 18px !important;
    line-height: 27px !important;
    font-weight: 500 !important;
}

/* Row layout */
.glp-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 30px;
}

/* ================================================
   STEP 4 — PHYSICAL MEASUREMENTS
   ================================================ */

.glp-step[data-step="4"] .glp-field {
    margin-bottom: 30px;
}

/* BMI field — visually grayed to signal read-only */
#bmi {
    color: #999 !important;
    font-style: italic;
}

/* ================================================
   STEPS 5 & 6 — SINGLE YES/NO QUESTIONS
   Add breathing room before nav buttons
   ================================================ */

.glp-step[data-step="5"] .glp-options,
.glp-step[data-step="6"] .glp-options {
    margin-bottom: 40px;
}

/* ================================================
   STEP 9 — MEDICATIONS & HISTORY
   ================================================ */

/* Conditional textarea spacing when it appears */
.glp-conditional {
    margin-top: 20px;
}

/* Gap between each textarea question block */
.glp-step[data-step="9"] .glp-field {
    margin-top: 30px;
}
.glp-step label.glp-option.glp-consent { align-items:inherit !important; border:0 !important; padding:0 !important; }

/* ================================================
   STEP 13 — BILLING
   ================================================ */

.glp-step[data-step="13"] .glp-field {
    margin-bottom: 30px;
}

/* Fake submit */
.glp-navigation .fake-submit-wrap {
    width: 50% !important;
}

.glp-navigation .fake-submit-wrap a#fakeSubmit {
    display: block !important;
    width: 100% !important;
    border-radius: 60px !important;
    padding:20px 40px !important;
    line-height: 28px !important;
    font-family: 'Gilroy' !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.glp-navigation .fake-submit-wrap a#fakeSubmit:hover {
    background: #f02841 !important;
}
.ue-content-carousel .uc_image_carousel_content { background:transparent !important; padding:0 !important; }
.beige-circle {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.beige-circle:after {
    content: '';
    position: absolute;
    width: 200px;
    height: 200px;
    background-color:#f3dbb7;
    border-radius: 50%;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.beige-circle img {
    position: relative;
    z-index: 2;
}
.owl-nav button { background-color:transparent !important; position:relative; color:#f02841 !important;  box-shadow:none; top:50% !important; transform: translateY(-50%) !important; }
.owl-nav button:before { content:''; position:absolute; width:28px; height:53px;  }
.owl-nav button.owl-prev { left:-90px !important; }
.owl-nav button.owl-prev:before { background: url("images/left-chevron.png") no-repeat; }
.owl-nav button.owl-next:before { background: url("images/right-chevron.png") no-repeat; }
.owl-nav button.owl-next { right:-90px !important; }
.owl-nav button i { display:none; }
.img-td { font-size:26px !important; font-family: 'Gilroy' !important; width:auto !important; gap:10px; color:#001C4C; display:flex; align-items:center;  }
.img-td img { width:80px; }
.table-img td { vertical-align:middle !important; }
/* Responsive */
@media(max-width:1400px){
    .e-con-boxed.e-con>.e-con-inner, header, .topbar-items {
        width:90%;
    }
    .product-section { padding:60px 40px !important; }
    .product-section h2 { font-size: 60px !important; line-height: 65px !important; }
    .logo-track {
        gap:80px;
    }
    .why-trust  {
        padding:30px !important; 
    }
  #glp-multistep { margin-top:180px; }
}

@media(max-width:1300px) {
     .small-gap .e-con-inner { gap:30px !important; }
     .turbo-footer-template { position: relative; }
     .footer-logo, .footer-logo .elementor-widget-image {
        position: absolute !important; top:0; right:0; left:0; margin:0px auto;
     }
      .footer-logo .elementor-widget-image img { max-width:300px !important; }
      .footer-col {  padding-top:200px !important; }
}
@media(max-width:1200px) {
    .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar { padding-left:0; padding-right:0;}
    #ast-desktop-header { display: none; }
     #ast-mobile-header { display: block; }
    .main-header-bar-navigation { margin-right:0; }
    #ast-mobile-header .ast-mobile-header-content {
        position: fixed;
        top: 0;
        left: 0;
        width: min(86vw, 280px);
        height: 100vh;
        padding: 30px 15px;
        background: #001b4c;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform .3s ease;
        z-index: 99;
        display: block !important;
        visibility: visible !important;
    }
    .ast-button-wrap .menu-toggle.main-header-menu-toggle { padding:0 !important; }
    #ast-mobile-header .ast-mobile-header-content .main-header-bar-navigation {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu,
    #ast-mobile-header .ast-mobile-header-content .main-header-menu .sub-menu {
        background: transparent;
    }

    #ast-mobile-header .ast-mobile-header-content .menu-link,
    #ast-mobile-header .ast-mobile-header-content .ast-menu-toggle {
        color: #fff !important;
    }

    #ast-mobile-header .ast-mobile-header-content .menu-item {
        width: 100%;
    }

    #ast-mobile-header .ast-mobile-header-content .menu-link {
        display: block;
        padding: 20px 5px;
        border-bottom: 1px solid rgba(255,255,255,0.12);
    }

    #ast-mobile-header .ast-mobile-header-content .sub-menu .menu-link {
        padding-left: 16px;
    }

    #ast-mobile-header .main-header-menu-toggle .ast-mobile-svg,
    #ast-mobile-header .main-header-menu-toggle svg {
        width: 30px;
        height: 30px;
        transition: transform .32s cubic-bezier(.22, 1, .36, 1), opacity .24s ease, filter .32s ease;
        transform-origin: center;
        will-change: transform;
    }

    #ast-mobile-header .main-header-menu-toggle.toggled .ast-mobile-svg,
    #ast-mobile-header .main-header-menu-toggle.toggled svg {
        transform: rotate(90deg) scale(1.08);
        filter: drop-shadow(0 0 10px rgba(240, 40, 65, 0.28));
        animation: vidamedCrossPop .34s cubic-bezier(.22, 1, .36, 1);
    }

    #ast-mobile-header .main-header-menu-toggle {
        transition: transform .25s ease, background-color .25s ease;
    }

    #ast-mobile-header .main-header-menu-toggle.toggled {
        transform: scale(1.04);
    }

    @keyframes vidamedCrossPop {
        0% {
            transform: rotate(0deg) scale(0.82);
            opacity: 0.7;
        }
        60% {
            transform: rotate(105deg) scale(1.14);
            opacity: 1;
        }
        100% {
            transform: rotate(90deg) scale(1.08);
            opacity: 1;
        }
    }

    body.ast-main-header-nav-open #ast-mobile-header .ast-mobile-header-content {
        transform: translateX(0);
    }

    #vidamed-mobile-drawer-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.45);
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s ease, visibility .3s ease;
        z-index: 9;
    }

    body.ast-main-header-nav-open #vidamed-mobile-drawer-overlay {
        opacity: 1;
        visibility: visible;
    }

    body.ast-main-header-nav-open {
        overflow: hidden;
    }
   .vidamed-mobile-lang {
        display: flex;
        align-items: center;
        margin-right: 10px;
     line-height:auto !important;
    }

    /* Fix: Astra forces sub-menu open on mobile — close it */
    .vidamed-mobile-lang .menu-link { line-height:30px; }
    .vidamed-mobile-lang .wpml-ls-item a { display:flex; }
  .vidamed-mobile-lang .sub-menu .ast-icon  { display:none; }
    .ast-header-break-point .dropdown-menu-toggle { display:block; }
    .vidamed-mobile-lang .wpml-ls-item { padding:7px 10px; }
    .vidamed-mobile-lang .sub-menu {
        display: none;
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        background: #fff !important;
        box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
        min-width: 140px !important;
        z-index: 9999 !important;
        padding: 6px 0 !important;
        border-radius: 6px !important;
    }
  .ast-header-break-point .ast-icon.icon-arrow svg { height:12px; width:12px; }
  .vidamed-mobile-lang .wpml-ls-item .sub-menu .wpml-ls-item { padding:0; }
    /* Open on aria-expanded = true (Astra's own toggle handles this) */
    .vidamed-mobile-lang .menu-item-has-children.ast-submenu-expanded > .sub-menu,
    .vidamed-mobile-lang .menu-item-has-children[aria-expanded="true"] > .sub-menu {
        display: block !important;
    }
}
@media(max-width:1024px){
    .e-con-boxed.e-con>.e-con-inner, header, .topbar-items {
        width:90%;
    }
  #glp-form .mb-8 { margin-bottom:60px !important; }
  #glp-form button.next, #glp-form button.prev, #glp-form #fakeSubmit, #glp-form #submit-payment { font-size:22px; }
  .glp-step label { font-size:27px !important;  }
  .glp-step label.glp-option { font-size:26px !important; }
    .container-outside-img { overflow: inherit !important;
    margin-right: auto !important; }
    .vm-insta { padding-top:60px;  }
  .glp-step h2 { font-size:48px !important; }
   .vm-insta-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .vm-hero .hero-title { font-size: 45px !important;
        line-height: 50px !important; }
    .vm-section-title { margin-bottom:30px !important; }
    .vm-section { padding-top:60px !important; padding-bottom:0px !important; }
    .vm-hero {
         border-radius:0px 0px 40px 40px !important;
    }
    .red-btn .elementor-button { padding: 18px 30px; }
    .red-btn .elementor-button span { font-size: 22px; line-height: 24px; }
    .post-hero-content {
		padding: 0;
	}
  .glp-question {
        font-size: 28px !important;
        line-height: 34px;
    }

}
@media (max-width:767px) {
    .product-section h2 {
        font-size: 46px !important;
        line-height: 46px !important;
    }
      .glp-navigation .fake-submit-wrap {
        width: 100% !important;
    }
    .custom-table tr th { font-size:22px; }
    .red-btn .elementor-button { padding: 15px 25px; }
    .red-btn .elementor-button span { font-size: 19px; line-height: 24px; }
    .faq-section .e-n-accordion-item-title-icon { width:35px !important; height: 35px !important; }
    .footer-logo .elementor-widget-image img { max-width:240px !important; }
    .footer-col-list { padding-top:0 !important; }
    .vm-insta-grid a { height:250px; }
    .vm-hero .hero-title {
        font-size: 40px !important;
        line-height: 45px !important;
    }
     .vm-hero {
         border-radius:0px 0px 20px 20px !important;
    }
    .post-hero-banner {
		border-radius: 0px 0px 20px 20px;
        margin-bottom: 60px;
        min-height:600px;
	}

	.post-hero-title {
		max-width: 100%;
	}
   .glp-step[data-step="1"].active {
        grid-template-columns: 1fr;
    }

    .glp-step[data-step="1"] input[name="name"],
    .glp-step[data-step="1"] input[name="phone"],
    .glp-step[data-step="1"] input[name="email"],
    .glp-step[data-step="1"] input[name="zip"],
    .glp-step[data-step="1"] button.next,
    .glp-step[data-step="1"] .next {
        grid-column: 1 !important;
    }

    .glp-step label.glp-option {
        font-size: 20px !important;
        line-height:25px;
    }

    .glp-note { font-size: 20px; }

    .glp-question {
        font-size: 26px !important;
        line-height: 34px;
    }

    .glp-info-box.small-dot-list li {
        font-size: 20px;
    }
    
    .glp-row {
        grid-template-columns: 1fr;
    }

    #glp-form button.next,
    #glp-form button.prev,
    #glp-form #fakeSubmit,
    #glp-form #submit-payment {
        font-size: 19px;
    }

    .glp-step h2 {
        font-size: 45px !important;
    }

    .glp-step label {
        font-size: 24px !important;
        line-height:30px;
    }

    /* Stack nav buttons on very small screens */
    .glp-navigation {
        flex-direction: column-reverse;
    }

    .glp-navigation button.prev,
    .glp-navigation button.next,
    .glp-navigation #submit-payment {
        width: 100% !important;
        min-width: unset;
    }
}

@media(max-width:480px){
      .vm-insta-grid {
        grid-template-columns: repeat(1, 1fr);
    }
  .wpforms-container .wpforms-field.wpforms-one-half { width:100%; margin:0; }
  .site-logo-img img { max-width:150px !important; width:150px !important; }
  .wpml-ls-item .menu-link { font-size:13px; }
  .vidamed-mobile-lang .wpml-ls-item { padding:3px 8px; }
  .vidamed-mobile-lang .sub-menu { padding:0 !important; }
}
