ul.circle {
    list-style: circle;
    margin-left: 25px;
}

@media (min-width: 48rem) {
    .md\:px-12 {
        padding-inline: calc(var(--spacing) * 12);
    }
}

/* Contact Form 7 custom styling – matches original HTML form */

.cf7-custom-form {
  font-family: 'Lato', sans-serif;
}

.cf7-field-group {
  margin-bottom: 2.5rem; /* 40px = space-y-10 */
}

.cf7-custom-form input,
.cf7-custom-form textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #D4C9B8;
  padding: 1rem 0; /* 16px top/bottom */
  font-size: 1.125rem; /* 18px = text-lg */
  font-weight: 300;
  line-height: 1.5;
  transition: border-color 0.3s ease;
}

.cf7-custom-form textarea {
  resize: none;
}

.cf7-custom-form input:focus,
.cf7-custom-form textarea:focus {
  outline: none;
  border-bottom-color: #6B9080;
}

.cf7-custom-form .wpcf7-submit {
  width: 100%;
  background-color: #2d2822;
  color: white;
  padding: 1.25rem; /* 20px = py-5 */
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  border: none;
  cursor: pointer;
  transition: background-color 0.5s ease;
  font-family: 'Lato', sans-serif;
}

.cf7-custom-form .wpcf7-submit:hover {
  background-color: #6B9080;
}

.cf7-custom-form .wpcf7-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* Optional: style validation errors */
.cf7-custom-form .wpcf7-not-valid-tip {
  font-size: 12px;
  color: #c0392b;
  margin-top: 4px;
}

.cf7-custom-form .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 10px;
  border-radius: 4px;
  font-size: 14px;
}

/* Placeholder styling */
.cf7-custom-form input::placeholder,
.cf7-custom-form textarea::placeholder {
  color: #9e9689;
  font-weight: 300;
}

@media (min-width: 48rem) {
    .md\:text-left {
        text-align: left;
    }
}

.notice-error, div.error {
    border-left-color: #cc1818;
    background-color: #fcf0f0;
    display: none;
}
h2.wp-block-heading {
    padding: 10px 0px;
    font-size: 25px;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
}




h3.wp-block-heading {
    padding: 10px 0px;
	font-size:20px;
	font-family: 'Cormorant Garamond', serif;
	  font-weight: 300;
}

p.wp-block-paragraph {
    margin-bottom: 5px;
}


p.a {
    color: #0aafe6;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
}

/* Style all links inside post content */
.single-post .entry-content a,
.page .entry-content a,
.prose a {
    color: #15a6d7;
    text-decoration: none;
    border-bottom: 1px solid #2d2822;
    padding-bottom: 2px;
    transition: all 0.2s ease;
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.single-post .entry-content a:hover,
.page .entry-content a:hover,
.prose a:hover {
    color: #6B9080;
    border-bottom-color: #6B9080;
}

/* Desktop account top bar */
.dn-header-topbar {
    display: none;
    background-color: #2d2822;
    color: #faf7f0;
    border-bottom: 1px solid rgba(250, 247, 240, 0.08);
}

@media (min-width: 80rem) {
    .dn-site-header-wrap--logged-in .dn-header-topbar {
        display: block;
    }

    .dn-site-header-wrap--logged-in .dn-account-nav--sidebar {
        top: 9rem;
    }
}

.dn-desktop-login-link {
    display: none;
}

@media (min-width: 80rem) {
    .dn-desktop-login-link {
        display: block;
    }
}

.dn-header-topbar__inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.dn-header-topbar__welcome {
    margin: 0;
    font-size: 12px;
    letter-spacing: 0.08em;
    color: #faf7f0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dn-header-topbar__actions {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-shrink: 0;
}

.dn-header-topbar__link {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #faf7f0;
    text-decoration: none;
    transition: color 0.25s ease;
}

.dn-header-topbar__link:hover,
.dn-header-topbar__link:focus {
    color: #6B9080;
}

/* Member account area navigation */
.dn-account-layout {
    display: grid;
    gap: 2rem;
}

@media (min-width: 64rem) {
    .dn-account-layout {
        grid-template-columns: 260px minmax(0, 1fr);
        align-items: start;
        gap: 3rem;
    }
}

.dn-account-content {
    min-width: 0;
}

.dn-account-nav--top {
    display: block;
    margin-bottom: 0.5rem;
}

.dn-account-nav--sidebar {
    display: none;
}

@media (min-width: 64rem) {
    .dn-account-nav--top {
        display: none;
    }

    .dn-account-nav--sidebar {
        display: block;
        position: sticky;
        top: 7rem;
    }
}

.dn-account-nav__welcome {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(45, 40, 34, 0.1);
}

.dn-account-nav__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6b6257;
}

.dn-account-nav__name {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 300;
    color: #2d2822;
    line-height: 1.3;
}

.dn-account-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0.75rem;
}

.dn-account-nav--sidebar .dn-account-nav__list {
    flex-direction: column;
    gap: 0.35rem;
}

.dn-account-nav--top .dn-account-nav__list {
    flex-wrap: wrap;
    gap: 0.5rem;
}

.dn-account-nav__item {
    flex: 0 0 auto;
}

.dn-account-nav__link {
    display: block;
    padding: 0.7rem 1rem;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #2d2822;
    text-decoration: none;
    border: 1px solid rgba(45, 40, 34, 0.12);
    background: #faf7f0;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.dn-account-nav--sidebar .dn-account-nav__link {
    border-color: transparent;
    background: transparent;
    padding: 0.75rem 0.9rem;
}

.dn-account-nav__link:hover,
.dn-account-nav__link:focus {
    color: #6B9080;
    border-color: rgba(107, 144, 128, 0.35);
}

.dn-account-nav__link--active {
    color: #ffffff;
    background: #6B9080;
    border-color: #6B9080;
}

.dn-account-nav__link--active:hover,
.dn-account-nav__link--active:focus {
    color: #ffffff;
    background: #6B9080;
    border-color: #6B9080;
}

.dn-account-nav--sidebar .dn-account-nav__link--active {
    background: #e6eff2;
    color: #2d2822;
    border-color: rgba(107, 144, 128, 0.35);
}

.dn-account-nav--sidebar .dn-account-nav__link--active:hover,
.dn-account-nav--sidebar .dn-account-nav__link--active:focus {
    background: #e6eff2;
    color: #2d2822;
    border-color: rgba(107, 144, 128, 0.35);
}

.dn-account-nav__item--logout {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(45, 40, 34, 0.1);
}

.dn-account-nav--top .dn-account-nav__item--logout {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.dn-account-nav__link--logout {
    color: #6b6257;
}

.dn-account-nav__link--logout:hover,
.dn-account-nav__link--logout:focus {
    color: #2d2822;
}

/* ── Zoom Sessions popup ─────────────────────────────────────────────────── */
.dn-zoom-popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.dn-zoom-popup.is-open {
    display: flex;
}

.dn-zoom-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(45, 40, 34, 0.6);
    backdrop-filter: blur(3px);
}

.dn-zoom-popup__panel {
    position: relative;
    background: #faf7f0;
    max-width: 680px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 2px;
    box-shadow: 0 24px 80px rgba(45, 40, 34, 0.25);
    padding: 3rem 2.5rem 2.5rem;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 40rem) {
    .dn-zoom-popup__panel {
        padding: 2.5rem 1.5rem 2rem;
    }
}

.dn-zoom-popup__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(45, 40, 34, 0.15);
    border-radius: 50%;
    font-size: 1.1rem;
    line-height: 1;
    color: #6b6257;
    cursor: pointer;
    transition: all 0.2s ease;
}

.dn-zoom-popup__close:hover {
    background: #6B9080;
    border-color: #6B9080;
    color: #ffffff;
}

/* Content styles inside the popup — whatever the CMS page outputs */
.dn-zoom-popup__content h1,
.dn-zoom-popup__content h2,
.dn-zoom-popup__content h3 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    color: #2d2822;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.dn-zoom-popup__content h2 {
    font-size: 2rem;
    border-bottom: 1px solid rgba(107, 144, 128, 0.3);
    padding-bottom: 0.75rem;
    margin-bottom: 1.5rem;
}

.dn-zoom-popup__content h3 {
    font-size: 1.2rem;
    letter-spacing: 0.06em;
}

.dn-zoom-popup__content p {
    font-family: Lato, sans-serif;
    color: #6b6257;
    font-size: 0.95rem;
    line-height: 1.7;
    margin-top: 0;
    margin-bottom: 1.25rem;
}

.dn-zoom-popup__content ul,
.dn-zoom-popup__content ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.dn-zoom-popup__content li {
    font-family: Lato, sans-serif;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    color: #2d2822;
    background: #ffffff;
    border-left: 3px solid #6B9080;
    padding: 0.8rem 1.1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.dn-zoom-popup__content li::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6B9080;
    flex-shrink: 0;
}

/* Zoom sessions button */
.dn-zoom-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.75rem;
    font-family: Lato, sans-serif;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6B9080;
    background: transparent;
    border: 1px solid #6B9080;
    cursor: pointer;
    transition: all 0.25s ease;
    margin-top: 1.25rem;
}

.dn-zoom-btn:hover,
.dn-zoom-btn:focus {
    background: #6B9080;
    color: #ffffff;
    outline: none;
}



/* zoom call page */

.schedule-title {
            font-size: 1.75rem;
            font-weight: 700;
            color: #0b1a33;
            letter-spacing: -0.02em;
            margin-top: 0.25rem;
        }

        .schedule-subtitle {
            font-size: 1rem;
            color: #5b6f87;
            margin-top: 0.2rem;
            margin-bottom: 1.75rem;
            line-height: 1.5;
        }

        .schedule-subtitle strong {
            color: #0b1a33;
            font-weight: 600;
        }

        .dates-grid {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            margin-bottom: 2rem;
            padding: 0.25rem 0;
        }

        /* ── Date Row – flexible, no overlap ── */
        .date-row {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.65rem 1rem 0.65rem 1.25rem;
            border-radius: 14px;
            background: #fafcff;
            transition: background 0.15s ease;
            border: 1px solid transparent;
            flex-wrap: wrap;
        }

        .date-row:hover {
            background: #f2f7ff;
            border-color: #e3edfc;
        }

        /* Day badge – full word on desktop, short on mobile */
        .date-row .day-badge {
            font-size: 0.7rem;
            font-weight: 600;
            color: #1a5cff;
            background: #eef6ff;
            padding: 0.2rem 0.8rem;
            border-radius: 100px;
            letter-spacing: 0.03em;
            flex-shrink: 0;
            white-space: nowrap;
        }

        .date-row .date-info {
            display: flex;
            align-items: baseline;
            gap: 0.4rem;
            flex: 1 1 auto;
            flex-wrap: wrap;
            min-width: 120px;
        }

        .date-row .date-info .date-num {
            font-weight: 600;
            color: #0b1a33;
            font-size: 1rem;
            flex-shrink: 0;
        }

        .date-row .date-info .month-year {
            color: #4a5f7a;
            font-size: 0.92rem;
            font-weight: 450;
            white-space: nowrap;
        }

        .date-row .time-slot {
            display: flex;
            align-items: center;
            gap: 0.35rem;
            color: #2d4059;
            font-size: 0.85rem;
            font-weight: 500;
            background: #f0f4fa;
            padding: 0.2rem 0.8rem 0.2rem 0.65rem;
            border-radius: 100px;
            flex-shrink: 0;
            margin-left: auto;
            white-space: nowrap;
        }

        .date-row .time-slot .clock-icon {
            font-size: 0.8rem;
            line-height: 1;
        }

        .link-section {
            margin-top: 0.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid #e9eff5;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .btn-recurring {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.6rem;
            background: #1a5cff;
            color: #ffffff;
            font-weight: 600;
            font-size: 1.05rem;
            padding: 0.9rem 2.4rem;
            border-radius: 60px;
            border: none;
            box-shadow: 0 6px 20px rgba(26, 92, 255, 0.28);
            cursor: pointer;
            transition: all 0.2s ease;
            text-decoration: none;
            width: 100%;
            max-width: 380px;
            letter-spacing: 0.01em;
            text-align: center;
        }

        .btn-recurring:hover {
            background: #0f4ad6;
            box-shadow: 0 8px 28px rgba(26, 92, 255, 0.35);
            transform: translateY(-2px);
        }

        .btn-recurring:active {
            transform: translateY(0);
            box-shadow: 0 4px 12px rgba(26, 92, 255, 0.25);
        }

        .btn-recurring .arrow {
            font-size: 1.2rem;
            transition: transform 0.2s ease;
            flex-shrink: 0;
        }

        .btn-recurring:hover .arrow {
            transform: translateX(4px);
        }

        /* ── Responsive ── */
        @media (max-width: 700px) {
            .schedule-card {
                padding: 1.8rem 1.4rem 2rem;
                border-radius: 24px;
            }

            .schedule-title {
                font-size: 1.45rem;
            }

            .date-row {
                padding: 0.6rem 0.85rem;
                gap: 0.5rem;
                border-radius: 12px;
            }

            /* On tablet/small desktop, keep "Tuesday" but allow wrap */
            .date-row .day-badge {
                font-size: 0.65rem;
                padding: 0.15rem 0.65rem;
            }

            .date-row .date-info .date-num {
                font-size: 0.95rem;
            }

            .date-row .date-info .month-year {
                font-size: 0.85rem;
            }

            .date-row .time-slot {
                font-size: 0.8rem;
                padding: 0.15rem 0.7rem 0.15rem 0.55rem;
            }

            .btn-recurring {
                font-size: 0.95rem;
                padding: 0.8rem 1.6rem;
                max-width: 100%;
            }
        }

        @media (max-width: 480px) {
            .schedule-card {
                padding: 1.2rem 0.9rem 1.4rem;
                border-radius: 18px;
            }

            .schedule-title {
                font-size: 1.25rem;
            }

            .schedule-subtitle {
                font-size: 0.88rem;
                margin-bottom: 1.25rem;
            }

            .dates-grid {
                gap: 0.4rem;
            }

            .date-row {
                padding: 0.5rem 0.6rem;
                border-radius: 10px;
                gap: 0.3rem;
                flex-wrap: wrap;
            }

            /* ── Mobile: shorten "Tuesday" → "Tue" ── */
            .date-row .day-badge {
                font-size: 0.6rem;
                padding: 0.1rem 0.5rem;
                min-width: 30px;
                text-align: center;
            }

            .date-row .date-info {
                gap: 0.2rem;
                min-width: 80px;
                flex: 0 1 auto;
            }

            .date-row .date-info .date-num {
                font-size: 0.88rem;
            }

            .date-row .date-info .month-year {
                font-size: 0.78rem;
                white-space: nowrap;
            }

            .date-row .time-slot {
                font-size: 0.7rem;
                padding: 0.1rem 0.55rem 0.1rem 0.4rem;
                margin-left: 0;
                /* reset auto margin so it sits naturally */
            }

            /* Force a clean two-line layout on very small screens */
            .date-row {
                display: grid;
                grid-template-columns: auto 1fr auto;
                align-items: center;
                gap: 0.3rem 0.5rem;
            }

            .date-row .day-badge {
                grid-column: 1 / 2;
                grid-row: 1 / 2;
            }

            .date-row .date-info {
                grid-column: 2 / 3;
                grid-row: 1 / 2;
                justify-self: start;
            }

            .date-row .time-slot {
                grid-column: 3 / 4;
                grid-row: 1 / 2;
                justify-self: end;
            }

            .btn-recurring {
                font-size: 0.85rem;
                padding: 0.7rem 1.2rem;
                gap: 0.4rem;
            }

            .btn-recurring .arrow {
                font-size: 1rem;
            }
        }

        /* Extra-tiny phones (≤ 380px) */
        @media (max-width: 380px) {
            .schedule-card {
                padding: 0.9rem 0.6rem 1rem;
            }

            .date-row {
                padding: 0.4rem 0.4rem;
                gap: 0.2rem 0.3rem;
                grid-template-columns: auto 1fr auto;
            }

            .date-row .day-badge {
                font-size: 0.5rem;
                padding: 0.05rem 0.35rem;
                min-width: 24px;
            }

            .date-row .date-info .date-num {
                font-size: 0.78rem;
            }

            .date-row .date-info .month-year {
                font-size: 0.68rem;
            }

            .date-row .time-slot {
                font-size: 0.6rem;
                padding: 0.05rem 0.4rem 0.05rem 0.3rem;
            }

            .btn-recurring {
                font-size: 0.78rem;
                padding: 0.6rem 0.9rem;
            }
        }

.grecaptcha-badge {
width: 70px !important;
overflow: hidden !important;
transition: all 0.3s ease !important;
left: 4px !important;
}
.grecaptcha-badge:hover {
width: 256px !important;
}

.grecaptcha-badge {

visibility: hidden;

}