.et_pb_text_inner h2{ font-size: 48px;}
div p{ font-size: 16px; }

/* --- Base Styling for the Card Container --- */
#resource-top-sec .et_pb_css_mix_blend_mode_passthrough {
	max-width: 600px;
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    overflow: hidden;
    padding: 0; /* Ensure the overlay hits the edges */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.resource-top-sec-wrapper{ display: flex; justify-content: center; } 
#resource-top-sec .resource-top-sec-wrapper .resource-top-sec-box::before {
  background-image: linear-gradient( to bottom, rgba(13, 114, 82, 0.95) 0%, rgba(13, 114, 82, 0.55) 50%, rgba(13, 114, 82, 0.65) 100% ) !important;
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
/* --- Green Semi-Transparent Overlay --- */
#resource-top-sec .resource-top-sec-box {
    background-color: rgba(13, 114, 82, 0.82); /* Deep green with ~82% opacity */
    padding: 40px 30px; /* Inside spacing for content */
    height: 100%;
    min-height: 380px; /* Ensures consistent card height */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* --- Content Wrapper & Layout Fixes --- */
#resource-top-sec .et_pb_blurb_content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

#resource-top-sec .et_pb_blurb_container {
    display: flex;
    flex-direction: column;
}

/* --- Typography: Main Header --- */
#resource-top-sec .et_pb_module_header {
    margin-bottom: 20px;
    font-family: inherit; /* Inherits your site font */
    font-weight: 700;
}

/* Force the text inside the header link to be white and remove standard link underlines */
#resource-top-sec .et_pb_module_header a {
    color: #ffffff;
    font-size: 28px;
    line-height: 1.3;
    text-decoration: none;
    pointer-events: none; /* Disables the title link behavior if you want only the button clickable */
}

/* --- Typography: Description Text --- */
#resource-top-sec .et_pb_blurb_description {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 40px; /* Pushes the button area down */
}

/* --- The "Open Guide" Button Transformation --- */
/* This transforms the title's hyperlink into the standalone white button at the bottom */
#resource-top-sec .et_pb_blurb_container::after {
    content: "Open Guide";
    display: inline-block;
    align-self: flex-start; /* Aligns button to the left */
    background-color: #ffffff;
    color: #0b4e37; /* Dark green text color */
    font-size: 16px;
    font-weight: 600;
    padding: 12px 28px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}
#resource-tab-sec th {
  background-color: #004766;
  color: #fff;
  font-size: 20px;
  padding: 20px 0 20px 27px;
}
#support-tab-sec-main.res-pg-tab {
  padding-top: 0;
}
#resource-community-sec {
  padding-bottom: 0;
}
#resource-tab-sec th {
  background-color: #004766;
  color: #fff;
  font-size: 20px;
  padding: 16px 24px;
}
#support-tab-sec-main .support-tab-row-main-tab #resource-tab-sec.support-main-tab .et_pb_tab_content a {
  background: transparent !important;
  font-size: 16px;
  padding: 0 !important;
  color: #008060 !important;
}
#resource-tab-sec tr td{ border-right: 1px solid #c5e3db; color: #000; }

/* Button Hover Effect */
#resource-top-sec .et_pb_css_mix_blend_mode_passthrough:hover .et_pb_blurb_container::after {
    background-color: #f0f0f0;
    transform: translateY(-10px);
}


.faq-accordion-wrapper .faq-accordion-inner h5 {
  font-size: 22px;
  color: #008065;
}
.faq-accordion-wrapper .faq-accordion-inner p {
  font-size: 16px;
}
.faq-accordion-wrapper .faq-accordion-inner .et_pb_toggle_close h5 {
  color: #004766;
}
.faq-accordion-wrapper .faq-accordion-inner .et_pb_toggle_open {
  background-color: #004766;
}
.faq-accordion-wrapper .faq-accordion-inner .et_pb_toggle_open h5, .faq-accordion-wrapper .faq-accordion-inner .et_pb_toggle_open p {
  color: #fff;
}
.faq-accordion-wrapper .faq-accordion-inner .et_pb_toggle_open .et_pb_toggle_content {
  font-size: 16px;
  color: #fff;
}
.faq-accordion-wrapper .faq-accordion-inner .et_pb_toggle {
  border-radius: 20px;
}
#about-us-sec .about-us-nur-row .et_pb_promo_description h2::after{ top: 140px; }


/* --- Core Container Styling --- */
.nhp-modern-form {
    background-color: #f7f9fa; /* Light grey backdrop texture */
    padding: 40px;
    border-radius: 8px;
    max-width: 100%;
    margin: 0 auto;
    font-family: inherit;
    box-sizing: border-box;
}

/* --- Responsive Two-Column Layout Grid --- */
.nhp-grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

/* --- Inline Input Icon Mechanics --- */
.nhp-input-icon-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.nhp-input-icon-wrap input {
    width: 100% !important;
    padding: 14px 14px 14px 50px !important; /* Extra left padding to make room for icons */
    border: 1px solid #dcdfe3 !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    color: #4a5568 !important;
    background-color: #ffffff !important;
    box-sizing: border-box;
    height: 52px !important;
}

/* Base Icon Structure using CSS masks for clean crisp styling */
.nhp-input-icon-wrap::before {
    content: "";
    position: absolute;
    left: 18px;
    width: 20px;
    height: 20px;
    background-color: #a0aec0; /* Icon shade */
    display: inline-block;
}

/* 1. First Name & Last Name SVG User Icon */
.name-icon::before {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z' /%3E%3C/svg%3E") no-repeat center;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z' /%3E%3C/svg%3E") no-repeat center;
}

/* 2. Phone Icon SVG */
.phone-icon::before {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 5a2 2 0 012-2h3.28a1 1 0 01.94.725l.548 2.2a1 1 0 01-.321.988l-1.305.98a10.582 10.582 0 004.872 4.872l.98-1.305a1 1 0 01.988-.321l2.2.548a1 1 0 01.725.94V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z' /%3E%3C/svg%3E") no-repeat center;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 5a2 2 0 012-2h3.28a1 1 0 01.94.725l.548 2.2a1 1 0 01-.321.988l-1.305.98a10.582 10.582 0 004.872 4.872l.98-1.305a1 1 0 01.988-.321l2.2.548a1 1 0 01.725.94V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z' /%3E%3C/svg%3E") no-repeat center;
}

/* 3. Mail Envelope Icon SVG */
.email-icon::before {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z' /%3E%3C/svg%3E") no-repeat center;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z' /%3E%3C/svg%3E") no-repeat center;
}

/* Focus color tint changes to match the green theme brand */
.nhp-input-icon-wrap input:focus {
    border-color: #0d7252 !important;
    outline: none;
}
.nhp-input-icon-wrap input:focus::before {
    background-color: #0d7252;
}

/* --- Headings / Labels --- */
.nhp-section-title {
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #3e4e5e;
    margin-bottom: 16px !important;
}

/* --- Horizontal Radio Items Setup --- */
.nhp-radio-section {
    margin-bottom: 35px;
}

.nhp-radio-section .wpcf7-radio {
    display: flex !important;
    flex-wrap: wrap;
    flex-direction: row !important; /* Sets items horizontally */
    gap: 30px; /* Space between each radio label bundle */
}

.nhp-radio-section .wpcf7-list-item {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
}

.nhp-radio-section input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #cbd5e1;
    border-radius: 50%;
    margin-right: 10px !important;
    outline: none;
    background-color: #ffffff;
    cursor: pointer;
    display: inline-grid;
    place-content: center;
}

/* Custom filled circular radio check aesthetic */
.nhp-radio-section input[type="radio"]:checked {
    border-color: #0d7252;
}
.nhp-radio-section input[type="radio"]:checked::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #0d7252;
}

.nhp-radio-section .wpcf7-list-item-label {
    font-size: 16px;
    color: #4a5568;
    font-weight: 500;
    cursor: pointer;
}

/* --- Message Layout --- */
.nhp-message-section {
    margin-bottom: 25px;
}

.nhp-message-section textarea {
    width: 100% ;
    height: 140px;
    padding: 14px ;
    border: 1px solid #dcdfe3 ;
    border-radius: 6px;
    background-color: #ffffff;
    font-size: 15px;
    box-sizing: border-box;
    resize: vertical;
}
.nhp-message-section textarea:focus {
    border-color: #0d7252;
    outline: none;
}

/* --- Captcha Adjustment Row --- */
.nhp-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
#about-us-sec .about-us-nur-row .et_pb_promo_description .et_pb_module_header{ position: relative; }
#about-us-sec.et_pb_section .about-us-nur-row .et_pb_promo_description h2::after{ top: inherit; bottom: 0; }
#contact-pg-form input.wpcf7-form-control {
  background-color: #018065;
  border: none;
  color: #fff;
  padding: 10px 20px;
  font-size: 18px;
  border-radius: 4px;
}

#resource-tab-sec tbody {
  background-color: #fff;
}
#support-tab-sec-main .support-tab-row-main-tab #resource-tab-sec.support-main-tab .et_pb_tab_content p {
  color: #000; padding-bottom: 0;
}
#resource-top-sec .resource-top-sec-box-brochure .et_pb_blurb_container::after {
  content: "Open Brochure";
}

/* --- Responsive Adjustments --- */
@media max-width: 767px) {
    #resource-top-sec .et_pb_css_mix_blend_mode_passthrough .et_pb_blurb_0 {
        padding: 30px 20px;
        min-height: auto; /* Allow flexible height on smaller mobile screens */
    }
    #resource-top-sec .et_pb_module_header a {
        font-size: 22px;
    }
    #resource-top-sec .et_pb_blurb_description {
        font-size: 14px;
        margin-bottom: 25px;
    }
	
	.nhp-modern-form {
        padding: 20px;
    }
    .nhp-grid-container {
        grid-template-columns: 1fr; /* Switch to single stack on smartphones */
        gap: 15px;
    }
    .nhp-radio-section .wpcf7-radio {
        flex-direction: column; /* Stack radios nicely on tiny screens */
        gap: 12px;
    }
}