/*Paragraph Spacing*/
body p {
margin: 0;
padding: 0;
}

/* == START Heading Styles == */
h1 {
    font-size: 36px;
    font-weight: 400;
    color: #002664;
}
h2 {
    font-size: 30px;
    font-weight: 400;
    color: #002664;
}
h3 {
    font-size: 24px;
    font-weight: 400;
    color: #002664;
}
h4 {
    font-size: 20px;
    font-weight: 400;
    color: #002664;
}
h5 {
    font-size: 17px;
    font-weight: 400;
    color: #002664;
}
h6 {
    font-size: 14px;
    font-weight: 400;
    color: #002664;
}
/* == END Heading Styles == */

/* == START Accent Span == */
.accent {
    font-weight: 800;
    color: #3AD6C5;
}
/* == END Accent Span == */

/*Boxed Div*/
.boxedborder{
    background-color: #fff;
    color: #666;
    box-shadow: 0 5px 10px rgba(0,0,0,0.3);
    padding: 10px;
    display: flex;
    flex-direction: column;
      border-radius: 12px;
}

/*Button to Div Bottom*/
.boxedborder .buttondiv {
    margin-top: auto;
}

/* == START Button Secondary White == */

.btn.btn-secondary-white {
    background: #ffffff;
    color: #002664 !important;
}

.btn.btn-secondary-white:hover {
    background: #f0f0f0;
    color: #002664 !important;
}

/* == END Button Secondary White == */

/* == START Cookies CK Revoke Button == */
#cookiesck_options {
    display: none !important;
}
/* == END Cookies CK Revoke Button == */
/* == START Form Control == */
.inua_form_control {
    margin-bottom: 8px;
}
.inua_form_label {
    font-weight: 700;
    color: #002664;
    font-size: 14px;
}
.inua_form_value {
    color: #1A1A2E;
    font-size: 14px;
}
/* == END Form Control == */
/* == START Home Article Divs == */

.home-articles {
    border-radius: 16px;
    overflow: hidden;
}

.home-article-left {
    background-color: #002664;
    color: #ffffff;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    min-height: 400px;
    padding: 20px;
}

.home-article-left p,
.home-article-left span {
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.home-article-left a,
.home-article-left a:visited,
.home-article-left a:hover {
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.home-article-right {
    background-color: #F5F5F5;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    min-height: 400px;
    padding: 20px;
}

.home-article-img-left {
    position: absolute;
    bottom: 0;
    right: -20px;
    width: auto;
    height: 400px;
    max-width: 100%;
    z-index: 1;
}

.home-article-img-right {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: cover;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 0 0 16px 16px;
}

@media (max-width: 768px) {
    .home-article-left,
    .home-article-right {
        min-height: unset;
    }

    .home-article-img-left {
        position: absolute;
        display: block;
        width: auto;
        height: 200px;
        right: -10px;
        bottom: 0;
        max-width: 50%;
    }

    .home-article-img-right {
        position: relative;
        height: auto;
        border-radius: 0 0 16px 16px;
    }
}

/* == END Home Article Divs == */

/* == START Resources Blog Layout == */

.resources-blog .article-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.resource-subtitle {
    font-size: 0.8rem;
    color: #888888;
    margin-top: -0.5rem;
    margin-bottom: 0.75rem;
}

/* == END Resources Blog Layout == */

/* == START Service Info Table == */
.service-info-table {
    width: 100%;
    background-color: #F5F5F5;
    border-radius: 8px;
}

.service-info-table td {
    padding: 12px 16px;
    vertical-align: top;
}
/* == END Service Info Table == */

/* == START Bottom CTA == */
.service-cta {
    background-color: #F5F5F5;
    border-radius: 12px;
    padding: 30px;
    text-align: center;
}
/* == END Bottom CTA == */

/* == START Therapist Directory Fields == */
ul.fields-container {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

ul.fields-container li.field-entry {
    margin-bottom: 6px;
}

ul.fields-container li.field-entry.bio {
    margin-bottom: 14px;
    color: #888888;
    font-size: 13px;
}

.field-label {
    font-weight: 700;
    color: #002664;
}
/* == END Therapist Directory Fields == */

/* == START Therapist Type == */
li.field-entry.therapist-type .field-value {
    font-size: 1.1em;
    font-weight: 600;
    color: #3AD6C5;
    display: block;
    margin-bottom: 10px;
}
/* == END Therapist Type == */

/* == START Therapist Card Button Alignment == */
.tck-blog .tck-article .tck-article-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.tck-blog .tck-article .booking-btn-wrap {
    margin-top: auto;
    text-align: center;
    padding-top: 20px;
}
/* == END Therapist Card Button Alignment == */

/* == START Image Radius == */
.img-radius {
    border-radius: 12px;
}
/* == END Image Radius == */

/* ================ BOOK NOW PAGE ================ */
/* == START Book Now - Step Cards == */
.step-number {
    font-size: 11px;
    font-weight: 700;
    color: #3AD6C5;
    letter-spacing: 2px;
}
/* == END Book Now - Step Cards == */

/* == START Book Now - Expect Cards == */
.expect-wrap {
    background-color: #F5F5F5;
    border-radius: 12px;
    padding: 25px;
}

.expect-card {
    border-left: 4px solid #3AD6C5;
    padding-left: 15px;
}
/* == END Book Now - Expect Cards == */

/* == START Book Now - Pricing == */
.type-label {
    font-size: 11px;
    letter-spacing: 2px;
    color: #3AD6C5;
    font-weight: 700;
}

.price {
    font-size: 42px;
    font-weight: 800;
    color: #002664;
    line-height: 1;
}

.price-sub {
    font-size: 12px;
    color: #777;
}

.vat-note {
    font-size: 11px;
    color: #aaa;
    font-style: italic;
}
/* == END Book Now - Pricing == */

/* == START Accordion == */
.inua-accordion {
    border-top: 1px solid #e0e0e0;
}

.inua-accordion .accordion-item {
    border: none;
    border-bottom: 1px solid #e0e0e0;
    box-shadow: none;
    border-radius: 0;
    background: none;
    padding: 0;
}

.accordion-toggle {
    display: none;
}

.accordion-question {
    display: block;
    padding: 16px 0 16px 40px;
    font-size: 15px;
    font-weight: 600;
    color: #002664;
    cursor: pointer;
    position: relative;
}

.accordion-question::after {
    content: '+';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 300;
    color: #3AD6C5;
    line-height: 1;
}

.accordion-toggle:checked + .accordion-question::after {
    content: '-';
}

.accordion-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    padding-left: 40px;
}

.accordion-toggle:checked + .accordion-question + .accordion-answer {
    max-height: 200px;
  padding-bottom: 15px;
}
/* == END Accordion == */

/* == START Book Now - CTA Strip == */
.cta-strip {
    background-color: #002664;
    color: #ffffff;
    text-align: center;
    padding: 40px 30px;
    border-radius: 12px;
}

.cta-strip * {
    color: #ffffff;
}
/* == END Book Now - CTA Strip == */
/* ================ BOOK NOW PAGE ================ */

/* == START Therapist Card Grid == */
.therapist-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.therapist-card {
    background-color: #fff;
    color: #666;
    box-shadow: 0 5px 10px rgba(0,0,0,0.3);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    border: 2px solid transparent;
    flex: 1 1 calc(25% - 20px);
    min-width: 220px;
    box-sizing: border-box;
  /* Prevents last card stretching full width when it is alone on a row */
max-width: calc(25% - 15px);
}

@media (max-width: 991px) {
    .therapist-card {
        flex: 1 1 calc(50% - 20px);
    }
}

@media (max-width: 575px) {
    .therapist-card {
        flex: 1 1 100%;
    }
}

.therapist-card img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    margin-bottom: 12px;
}

.therapist-card h4 {
    margin-bottom: 4px;
}

.therapist-card .card-type {
    font-size: 13px;
    font-weight: 600;
    color: #3AD6C5;
    margin-bottom: 8px;
}

.therapist-card .card-price {
    font-weight: 700;
    color: #002664;
    margin-bottom: 10px;
}

.therapist-card .card-bio {
    font-size: 13px;
    color: #888;
    margin-bottom: 10px;
    flex-grow: 1;
}

.therapist-card .card-meta {
    font-size: 13px;
    margin-bottom: 16px;
}

.therapist-card .card-meta strong {
    color: #002664;
}

.therapist-card .card-profile-link {
    font-size: 12px;
    color: #3AD6C5;
    text-decoration: underline;
    margin-bottom: 12px;
    display: inline-block;
}

.therapist-card .buttondiv {
    margin-top: auto;
}
/* == END Therapist Card Grid == */

/* == START Therapist Card Selected State == */
/* Hilton: Add class "therapist-selected" to the card div when Select Therapist is clicked. Remove from all other cards. */
.therapist-selected {
    border: 2px solid #3AD6C5;
    box-shadow: 0 0 0 4px rgba(58, 214, 197, 0.2);
}
/* == END Therapist Card Selected State == */

/* == START Calendar Layout == */
.calendar-shell {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.calendar-month {
    flex: 0 0 280px;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 10px rgba(0,0,0,0.15);
    padding: 20px;
    box-sizing: border-box;
}

.calendar-times {
    flex: 1 1 250px;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 10px rgba(0,0,0,0.15);
    padding: 20px;
    box-sizing: border-box;
}

.cal-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.cal-nav strong {
    color: #002664;
    font-size: 15px;
}

.cal-nav a {
    color: #002664;
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
}

.cal-nav a:hover {
    color: #3AD6C5;
}

.cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    text-align: center;
}

.cal-grid .cal-header {
    font-size: 11px;
    font-weight: 700;
    color: #002664;
    padding: 4px 0;
}

.cal-day {
    font-size: 13px;
    padding: 6px 4px;
    border-radius: 50%;
    cursor: default;
    color: #aaa;
}

.cal-day.available {
    color: #002664;
    cursor: pointer;
    border: 1px solid #3AD6C5;
    font-weight: 600;
}

.cal-day.available:hover {
    background-color: #3AD6C5;
    color: #fff;
}

.cal-day.selected {
    background-color: #002664;
    color: #fff;
    border-color: #002664;
}

.cal-day.today {
    background-color: #f0fdfb;
    color: #002664;
}

.cal-day.empty {
    visibility: hidden;
}

.cal-selected-date {
    font-size: 15px;
    font-weight: 600;
    color: #002664;
    margin-bottom: 16px;
}

.time-slot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #002664;
}

.time-slot:hover {
    border-color: #3AD6C5;
    background-color: #f0fdfb;
}

.time-slot.selected {
    border-color: #002664;
    background-color: #f5f5f5;
    font-weight: 600;
}

.time-slot .slot-tick {
    width: 20px;
    height: 20px;
    background-color: #3AD6C5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    flex-shrink: 0;
}

.time-slot.unavailable {
    color: #aaa;
    cursor: default;
    border-color: #f0f0f0;
}

.time-slot.unavailable .slot-tick {
    background-color: #ddd;
}

@media (max-width: 767px) {
    .calendar-shell {
        flex-direction: column;
    }

    .calendar-month {
        flex: 1 1 100%;
    }
}
/* == END Calendar Layout == */

/* == START therapist-portal-tab Styles == */
#therapist-portal-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-bottom: 0 !important;
}

#therapist-portal-tabs .nav-item {
    width: auto;
}

#therapist-portal-tabs .nav-link {
    width: auto;
    border: 2px solid #dee2e6;
    border-radius: 5px 5px 0 0;
    color: #002664 !important;
    background-color: transparent !important;
    border: 2px solid #dee2e6 !important;
    border-bottom: none !important;
    border-radius: 5px 5px 0 0 !important;
    font-weight: 600 !important;
}

.tab-content {
    margin: 0;
    padding: 0;
    border: 1px solid #dee2e6;

}

#therapist-portal-tabs-content {
    margin-top: 0 !important;
    border-radius: 0 0 5px 5px;
    padding: 1rem;
    min-height: 600px;
}

#therapist-portal-tabs .nav-link.active,
#therapist-portal-tabs .nav-item.show .nav-link {
    color: #1A1A2E !important;
    background-color: #3AD6C5 !important;
    border-color: #3AD6C5 #3AD6C5 #ffffff !important;
}

#therapist-portal-tabs .nav-tabs .nav-link:hover {
    color: #ffffff !important;
    background-color: #002664 !important;
    border-color: #002664 !important;
}

.patient-card {
    border-color: #d8e2e1;
}

.patient-card .h6 {
    margin-bottom: 0.5rem;
    color: #0c4f48;
}

