:root {
    --sharon-blue: #302f92;
    --sharon-purple: #a846a8;
    --sharon-violet: #6d4fc2;
    --sharon-ink: #17172a;
    --sharon-muted: #625f73;
    --sharon-soft: #f7f2fb;
    --sharon-lavender: #efe8f8;
    --sharon-cream: #fffdf8;
    --sharon-white: #ffffff;
    --sharon-border: rgba(48, 47, 146, .15);
    --sharon-shadow: 0 24px 70px rgba(48, 47, 146, .14);
}

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

* { box-sizing: border-box; }

body {
    background: var(--sharon-cream);
    color: var(--sharon-ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 17px;
    line-height: 1.7;
}

a { color: var(--sharon-blue); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--sharon-purple); }

h1, h2, h3, h4, h5, h6 {
    color: var(--sharon-ink);
    font-family: Lora, Georgia, serif;
    font-weight: 700;
    line-height: 1.12;
}

h1 { font-size: clamp(3rem, 6vw, 5.7rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.15rem, 4vw, 3.65rem); letter-spacing: -.035em; }
h3 { font-size: 1.35rem; }

.skip-link { position: absolute; left: -999px; top: 0; z-index: 999; }
.skip-link:focus { left: 1rem; top: 1rem; background: #fff; padding: .75rem 1rem; }

.site-header {
    background: rgba(255, 253, 248, .96);
    border-bottom: 1px solid var(--sharon-border);
    backdrop-filter: blur(10px);
}

.navbar { padding: .6rem 0; }
.navbar-brand img { width: min(230px, 58vw); height: auto; }
.nav-link { color: var(--sharon-ink); font-weight: 800; font-size: .92rem; }
.nav-link:hover { color: var(--sharon-purple); }

.btn {
    border-radius: .8rem;
    font-weight: 800;
    padding: .84rem 1.35rem;
    text-decoration: none;
}
.btn-primary {
    background: linear-gradient(135deg, var(--sharon-blue), var(--sharon-purple));
    border-color: transparent;
    box-shadow: 0 14px 30px rgba(48,47,146,.22);
}
.btn-primary:hover { background: linear-gradient(135deg, var(--sharon-purple), var(--sharon-blue)); border-color: transparent; }
.btn-secondary { background: #fff; border-color: #fff; color: var(--sharon-blue); }
.btn-secondary:hover { background: var(--sharon-cream); border-color: var(--sharon-cream); color: var(--sharon-purple); }
.btn-outline-primary { border-color: var(--sharon-blue); color: var(--sharon-blue); background: rgba(255,255,255,.62); }
.btn-outline-primary:hover { background: var(--sharon-blue); border-color: var(--sharon-blue); color: #fff; }

.section-padding { padding: clamp(4.5rem, 7vw, 7.5rem) 0; }
.bg-soft { background: var(--sharon-soft); }
.eyebrow {
    color: var(--sharon-purple);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .16em;
    margin-bottom: .8rem;
    text-transform: uppercase;
}
.text-link { font-weight: 800; }
.link-note { color: var(--sharon-muted); font-size: .92rem; }
.shadow-soft { box-shadow: var(--sharon-shadow); }
.rounded-image { border-radius: 1.6rem; width: 100%; }

.site-wrap,
.site-main,
.home-hero,
.section-padding,
.site-footer {
    max-width: 100%;
}

img, video, iframe {
    max-width: 100%;
}

.home-hero {
    overflow: hidden;
    padding: clamp(5rem, 8vw, 8rem) 0 clamp(4rem, 7vw, 7rem);
    position: relative;
}
.home-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(168,70,168,.18), transparent 30%),
        radial-gradient(circle at 86% 15%, rgba(48,47,146,.15), transparent 28%),
        linear-gradient(180deg, rgba(247,242,251,.72), rgba(255,253,248,1));
    pointer-events: none;
}
.home-hero .container { position: relative; }
.hero-lead { color: var(--sharon-muted); font-size: 1.18rem; max-width: 650px; margin: 1.25rem 0 2rem; }
.hero-media-layout { min-height: 560px; position: relative; }
.hero-photo-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 2rem;
    box-shadow: var(--sharon-shadow);
    padding: 1rem;
}
.hero-photo-main {
    margin-left: auto;
    max-width: 430px;
    position: relative;
    z-index: 2;
}
.hero-photo-main img { border-radius: 1.45rem; width: 100%; max-height: 520px; object-fit: cover; object-position: center top; }
.hero-support-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.4rem;
    bottom: 0;
    box-shadow: 0 18px 50px rgba(48,47,146,.14);
    left: 0;
    max-width: 330px;
    padding: .75rem;
    position: absolute;
    z-index: 3;
}
.hero-support-card img { border-radius: 1rem; width: 100%; }
.hero-floating-card {
    background: rgba(255,255,255,.92);
    border: 1px solid var(--sharon-border);
    border-radius: 1.25rem;
    box-shadow: 0 18px 50px rgba(48,47,146,.12);
    display: grid;
    gap: .55rem;
    left: 10%;
    padding: 1rem 1.1rem;
    position: absolute;
    top: 8%;
    z-index: 4;
}
.hero-floating-card span { color: var(--sharon-blue); font-size: .87rem; font-weight: 900; }

.home-intro { background: var(--sharon-cream); }
.image-collage { min-height: 440px; position: relative; }
.image-collage img { border: .75rem solid #fff; box-shadow: var(--sharon-shadow); object-fit: cover; }
.collage-wide { border-radius: 1.7rem; height: 320px; width: 86%; }
.collage-small { border-radius: 1.5rem; bottom: 0; height: 230px; position: absolute; right: 0; width: 52%; }

.section-heading { max-width: 760px; }
.service-card, .post-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.35rem;
    box-shadow: 0 18px 45px rgba(48,47,146,.08);
    overflow: hidden;
}
.service-card { transition: transform .2s ease, box-shadow .2s ease; }
.service-card:hover { box-shadow: 0 24px 60px rgba(48,47,146,.14); transform: translateY(-4px); }
.service-card img, .post-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.service-card-body, .post-card-body { padding: 1.45rem; }
.service-card h3, .post-card h3, .post-card h2 { font-size: 1.28rem; }
.post-date { color: var(--sharon-muted); font-size: .88rem; font-weight: 800; margin-bottom: .5rem; }

.healing-banner { background: linear-gradient(135deg, #fffdf8, #f8f2fb); }
.promo-panel {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.92)),
        url('../images/Count-Your-Blessings.jpg') center/cover no-repeat;
    border-radius: 2rem;
    color: #fff;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(2.25rem, 5vw, 4.25rem);
    position: relative;
}
.promo-panel h2, .promo-panel p, .promo-panel .eyebrow { color: #fff; }
.promo-panel h2 { max-width: 840px; }
.promo-panel .btn { flex: 0 0 auto; }

.page-hero {
    background: linear-gradient(135deg, rgba(247,243,250,1), rgba(255,253,248,1));
    border-bottom: 1px solid var(--sharon-border);
    padding: clamp(4rem, 7vw, 7rem) 0;
}
.compact-hero h1 { max-width: 900px; }
.content-shell {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.5rem;
    box-shadow: 0 18px 45px rgba(48,47,146,.07);
    margin: 0 auto;
    max-width: 960px;
    padding: clamp(1.5rem, 4vw, 3rem);
}
.content-shell img { max-width: 100%; height: auto; }
.content-shell iframe { max-width: 100%; }
.content-shell ul, .content-shell ol { padding-left: 1.4rem; }

.events-shell {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.5rem;
    box-shadow: 0 18px 45px rgba(48,47,146,.07);
    padding: clamp(1rem, 3vw, 2rem);
}
.tribe-common .tribe-common-c-btn, .tribe-common a.tribe-common-c-btn { background-color: var(--sharon-blue); }

.site-footer {
    background: #18182d;
    color: rgba(255,255,255,.76);
    padding: 2.75rem 0;
    text-align: center;
}
.site-footer a { color: #fff; }
.site-footer-minimal .container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.footer-legal-nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.2rem;
    justify-content: center;
}
.footer-legal-nav a {
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
}
.footer-legal-nav a:hover { text-decoration: underline; }
.copyright { font-size: .9rem; }


@media (max-width: 991px) {
    .navbar-collapse { padding: 1rem 0; }
    .home-hero { padding-top: 4rem; }
    .hero-media-layout { margin-top: 1rem; min-height: auto; }
    .hero-photo-main { margin: 0; max-width: none; }
    .hero-photo-main img { max-height: none; }
    .hero-support-card, .hero-floating-card { margin-top: 1rem; max-width: none; position: static; }
    .image-collage { min-height: auto; }
    .collage-wide, .collage-small { height: auto; position: static; width: 100%; }
    .collage-small { margin-top: 1rem; }
    .promo-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575px) {
    body { font-size: 16px; }
    .container { width: min(100%, calc(100% - 1.5rem)); }
    .section-padding { padding: 3.5rem 0; }
    .navbar-brand img { width: 190px; }
    .btn { width: 100%; text-align: center; }
}

/* v1.1.7 interior page system */
body.admin-bar .site-header.sticky-top { top: 32px; }
.site-header.sticky-top { z-index: 1020; }
.navbar-toggler { border-color: var(--sharon-border); }
.navbar-toggler:focus { box-shadow: 0 0 0 .18rem rgba(48,47,146,.16); }

.interior-hero {
    overflow: hidden;
    position: relative;
}
.interior-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 10%, rgba(168,70,168,.12), transparent 32%),
        radial-gradient(circle at 90% 20%, rgba(48,47,146,.12), transparent 32%);
    pointer-events: none;
}
.interior-hero .container { position: relative; }
.interior-hero-image {
    background: #fff;
    border: .8rem solid #fff;
    border-radius: 1.75rem;
    box-shadow: var(--sharon-shadow);
    max-height: 390px;
    object-fit: cover;
    width: 100%;
}
.events-hero .interior-hero-image { object-position: center; }
.content-shell-wide { max-width: 1120px; }
.content-shell h2:not(:first-child),
.content-shell h3:not(:first-child) { margin-top: 2rem; }
.content-shell img {
    border-radius: 1rem;
    height: auto;
}
.content-shell .alignleft { float: left; margin: .35rem 1.5rem 1rem 0; }
.content-shell .alignright { float: right; margin: .35rem 0 1rem 1.5rem; }
.content-shell .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.content-shell:after { clear: both; content: ""; display: table; }
.styled-list li, .content-shell li { margin-bottom: .35rem; }

.portrait-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 2rem;
    box-shadow: var(--sharon-shadow);
    padding: .85rem;
    position: sticky;
    top: 8rem;
}
.portrait-card img {
    border-radius: 1.45rem;
    width: 100%;
}
.contact-card,
.service-cta-panel {
    background: linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.9));
    border-radius: 1.75rem;
    box-shadow: var(--sharon-shadow);
    color: #fff;
    padding: clamp(1.6rem, 3.5vw, 2.75rem);
}
.contact-card h2,
.contact-card p,
.contact-card .eyebrow,
.service-cta-panel h2,
.service-cta-panel p,
.service-cta-panel .eyebrow { color: #fff; }
.service-cta-panel {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    max-width: 1120px;
}
.service-cta-panel p { margin-bottom: 0; max-width: 760px; }
.service-content-shell { max-width: 1120px; }

.post-card h2 a,
.post-card h3 a { text-decoration: none; }
.post-card h2 a:hover,
.post-card h3 a:hover { text-decoration: underline; }
.post-card-image-link { display: block; }
.pagination-wrap .page-numbers {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: .65rem;
    display: inline-block;
    font-weight: 800;
    margin: 0 .2rem .4rem;
    padding: .55rem .85rem;
    text-decoration: none;
}
.pagination-wrap .page-numbers.current,
.pagination-wrap a.page-numbers:hover {
    background: var(--sharon-blue);
    color: #fff;
}
.post-nav {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    max-width: 960px;
}
.post-nav a {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: .8rem;
    box-shadow: 0 12px 30px rgba(48,47,146,.07);
    display: inline-block;
    font-weight: 800;
    padding: .8rem 1rem;
    text-decoration: none;
}

.events-shell {
    max-width: 1180px;
    margin: 0 auto;
}
.events-shell .tribe-common,
.events-shell .tribe-events { font-family: Inter, system-ui, sans-serif; }
.events-shell .tribe-common .tribe-common-h1,
.events-shell .tribe-common .tribe-common-h2,
.events-shell .tribe-common .tribe-common-h3,
.events-shell .tribe-common .tribe-common-h4,
.events-shell .tribe-events-calendar-list__event-title,
.events-shell .tribe-events-single-event-title {
    color: var(--sharon-ink);
    font-family: Lora, Georgia, serif;
}
.events-shell .tribe-common .tribe-common-c-btn,
.events-shell .tribe-common a.tribe-common-c-btn,
.events-shell .tribe-events-c-search__button {
    background: linear-gradient(135deg, var(--sharon-blue), var(--sharon-purple));
    border-radius: .8rem;
    font-weight: 800;
}
.events-shell .tribe-events-calendar-list__event-row,
.events-shell .tribe-events-calendar-day__event,
.events-shell .tribe-events-calendar-month__calendar-event {
    border-radius: 1rem;
}
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button {
    border-color: var(--sharon-blue);
    color: var(--sharon-blue);
}

.site-footer { padding: 2rem 0; }
.site-footer-minimal .container { gap: .4rem; }
.footer-legal-nav {
    color: rgba(255,255,255,.78);
    gap: .45rem .7rem;
    line-height: 1.4;
}
.footer-legal-nav a,
.footer-legal-nav span {
    font-size: .84rem;
    font-weight: 500;
}
.site-credit a {
    color: rgba(255,255,255,.62);
    font-size: .76rem;
    font-weight: 500;
    text-decoration: none;
}
.site-credit a:hover {
    color: #fff;
    text-decoration: underline;
}

@media (max-width: 782px) {
    body.admin-bar .site-header.sticky-top { top: 46px; }
}
@media (max-width: 991px) {
    .portrait-card { position: static; }
    .service-cta-panel { align-items: flex-start; flex-direction: column; }
    .post-nav { flex-direction: column; }
}
@media (max-width: 575px) {
    .footer-legal-nav { flex-direction: column; }
    .footer-legal-nav span[aria-hidden="true"] { display: none; }
    .content-shell .alignleft,
    .content-shell .alignright { float: none; display: block; margin: 1rem auto; }
}

/* v1.1.9 About page polish */
.about-feature-section {
    background:
        radial-gradient(circle at 8% 12%, rgba(168,70,168,.08), transparent 28%),
        radial-gradient(circle at 92% 18%, rgba(48,47,146,.08), transparent 28%),
        var(--sharon-cream);
}
.about-portrait-stack {
    padding-bottom: 3.25rem;
    position: relative;
}
.about-main-portrait {
    position: relative;
    top: auto;
}
.about-main-portrait img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}
.about-floating-note {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.25rem;
    bottom: 0;
    box-shadow: 0 18px 50px rgba(48,47,146,.12);
    max-width: 355px;
    padding: 1.25rem;
    position: absolute;
    right: -1rem;
}
.about-floating-note p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: .96rem;
    line-height: 1.55;
}
.about-intro-panel {
    background: rgba(255,255,255,.78);
    border: 1px solid var(--sharon-border);
    border-radius: 1.8rem;
    box-shadow: 0 18px 45px rgba(48,47,146,.07);
    padding: clamp(1.8rem, 4vw, 3.2rem);
}
.about-intro-panel > p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: 1.08rem;
    max-width: 740px;
}
.about-highlight-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2rem;
}
.about-highlight-grid > div {
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.7));
    border: 1px solid var(--sharon-border);
    border-radius: 1rem;
    padding: 1rem;
}
.about-highlight-grid span {
    color: var(--sharon-purple);
    display: block;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin-bottom: .45rem;
}
.about-highlight-grid strong {
    color: var(--sharon-ink);
    display: block;
    font-family: Lora, Georgia, serif;
    font-size: 1.08rem;
    line-height: 1.2;
    margin-bottom: .4rem;
}
.about-highlight-grid p {
    color: var(--sharon-muted);
    font-size: .9rem;
    line-height: 1.5;
    margin-bottom: 0;
}
.about-story-section {
    border-top: 1px solid var(--sharon-border);
    border-bottom: 1px solid var(--sharon-border);
}
.about-side-card {
    background: linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.9));
    border-radius: 1.75rem;
    box-shadow: var(--sharon-shadow);
    color: #fff;
    padding: clamp(1.6rem, 3vw, 2.5rem);
    position: sticky;
    top: 8rem;
}
.about-side-card h3,
.about-side-card p,
.about-side-card .eyebrow {
    color: #fff;
}
.about-side-card h3 {
    font-size: clamp(1.45rem, 2vw, 2rem);
    margin-bottom: 1rem;
}
.about-side-card .btn {
    margin-top: .75rem;
}
.about-content-shell {
    background: #fff;
}
.about-content-shell > *:last-child {
    margin-bottom: 0;
}
.about-pathways-section {
    background: var(--sharon-cream);
}
.about-service-card img {
    aspect-ratio: 5 / 3.5;
}
.about-final-cta {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.92)),
        url('../images/mindsoulspirit.jpg') center/cover no-repeat;
    border-radius: 2rem;
    box-shadow: var(--sharon-shadow);
    color: #fff;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(2rem, 5vw, 4rem);
}
.about-final-cta h2,
.about-final-cta p,
.about-final-cta .eyebrow {
    color: #fff;
}
.about-final-cta p:not(.eyebrow) {
    font-size: 1.05rem;
    margin-bottom: 0;
    max-width: 680px;
}
.about-final-cta .btn-outline-light {
    border-color: rgba(255,255,255,.85);
    color: #fff;
    font-weight: 800;
}
.about-final-cta .btn-outline-light:hover {
    background: #fff;
    color: var(--sharon-blue);
}

@media (max-width: 1199px) {
    .about-floating-note { right: 0; }
}
@media (max-width: 991px) {
    .about-portrait-stack { padding-bottom: 0; }
    .about-floating-note {
        margin-top: 1rem;
        max-width: none;
        position: static;
    }
    .about-highlight-grid { grid-template-columns: 1fr; }
    .about-side-card { position: static; }
    .about-final-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}
@media (max-width: 575px) {
    .about-intro-panel,
    .about-side-card,
    .about-final-cta {
        border-radius: 1.25rem;
    }
}

/* v1.1.10 About copy/image refinements */
.about-image-card img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center;
}
.about-highlight-grid-no-numbers span {
    color: var(--sharon-purple);
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.about-credentials-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2rem;
}
.about-credentials-grid > div {
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.7));
    border: 1px solid var(--sharon-border);
    border-radius: 1rem;
    padding: 1rem;
}
.about-credentials-grid strong {
    color: var(--sharon-ink);
    display: block;
    font-family: Lora, Georgia, serif;
    font-size: 1.02rem;
    line-height: 1.25;
    margin-bottom: .35rem;
}
.about-credentials-grid span {
    color: var(--sharon-muted);
    display: block;
    font-size: .9rem;
}
@media (max-width: 575px) {
    .about-credentials-grid { grid-template-columns: 1fr; }
}


/* v1.1.12 Services page design pass */
.services-intro-section {
    background: var(--sharon-cream);
}
.services-intro-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.8rem;
    box-shadow: var(--sharon-shadow);
    padding: clamp(1.8rem, 4vw, 3.2rem);
}
.services-intro-card p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: 1.08rem;
}
.services-intro-card .btn {
    margin-top: .75rem;
}
.services-collage {
    min-height: 440px;
    position: relative;
}
.services-collage img {
    border: .8rem solid #fff;
    box-shadow: var(--sharon-shadow);
    object-fit: cover;
}
.services-collage-main {
    border-radius: 2rem;
    height: 360px;
    margin-left: auto;
    width: 82%;
}
.services-collage-small {
    border-radius: 1.6rem;
    bottom: 0;
    height: 235px;
    left: 0;
    position: absolute;
    width: 52%;
}
.services-decision-section {
    border-bottom: 1px solid var(--sharon-border);
    border-top: 1px solid var(--sharon-border);
}
.services-feature-list {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.5rem);
}
.service-feature-card {
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 2rem;
    box-shadow: 0 22px 60px rgba(48,47,146,.09);
    display: grid;
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
    overflow: hidden;
}
.service-feature-card-reverse {
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
}
.service-feature-card-reverse .service-feature-image {
    order: 2;
}
.service-feature-card-reverse .service-feature-content {
    order: 1;
}
.service-feature-image img {
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    width: 100%;
}
.service-feature-content {
    padding: clamp(1.7rem, 4vw, 3rem);
}
.service-feature-content h3 {
    font-size: clamp(2rem, 3vw, 3rem);
    margin-bottom: 1rem;
}
.service-feature-content > p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: 1.08rem;
    max-width: 760px;
}
.service-detail-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1.75rem 0;
}
.service-detail-grid > div {
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.72));
    border: 1px solid var(--sharon-border);
    border-radius: 1rem;
    padding: 1.15rem;
}
.service-detail-grid strong {
    color: var(--sharon-ink);
    display: block;
    font-family: Lora, Georgia, serif;
    font-size: 1.05rem;
    line-height: 1.25;
    margin-bottom: .45rem;
}
.service-detail-grid p {
    color: var(--sharon-muted);
    font-size: .95rem;
    line-height: 1.55;
    margin-bottom: 0;
}
.service-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.services-soft-panel {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.92)),
        url('../images/Count-Your-Blessings.jpg') center/cover no-repeat;
    border-radius: 2rem;
    box-shadow: var(--sharon-shadow);
    color: #fff;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(2rem, 5vw, 4rem);
}
.services-soft-panel h2,
.services-soft-panel p,
.services-soft-panel .eyebrow {
    color: #fff;
}
.services-soft-panel p:not(.eyebrow) {
    font-size: 1.05rem;
    margin-bottom: 0;
    max-width: 760px;
}
.services-soft-panel .btn {
    flex: 0 0 auto;
}

@media (max-width: 991px) {
    .services-collage { min-height: auto; }
    .services-collage-main,
    .services-collage-small {
        height: auto;
        margin-left: 0;
        position: static;
        width: 100%;
    }
    .services-collage-small { margin-top: 1rem; }
    .service-feature-card,
    .service-feature-card-reverse {
        grid-template-columns: 1fr;
    }
    .service-feature-card-reverse .service-feature-image,
    .service-feature-card-reverse .service-feature-content {
        order: initial;
    }
    .service-feature-image img { min-height: 280px; }
    .services-soft-panel {
        align-items: flex-start;
        flex-direction: column;
    }
}
@media (max-width: 575px) {
    .services-intro-card,
    .service-feature-card,
    .service-detail-grid > div,
    .services-soft-panel {
        border-radius: 1.25rem;
    }
    .service-detail-grid { grid-template-columns: 1fr; }
}

/* v1.1.13 Events page design pass */
.events-hero-card {
    position: relative;
}
.events-hero-card .interior-hero-image {
    display: block;
    width: 100%;
}
.events-hero-note {
    background: rgba(255,255,255,.94);
    border: 1px solid var(--sharon-border);
    border-radius: 1.25rem;
    bottom: -2.25rem;
    box-shadow: var(--sharon-shadow);
    left: -1.5rem;
    max-width: 280px;
    padding: 1.25rem;
    position: absolute;
}
.events-hero-note p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: .98rem;
    line-height: 1.55;
}
.events-intro-section {
    background: var(--sharon-cream);
}
.events-info-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.5rem;
    box-shadow: 0 22px 55px rgba(48,47,146,.07);
    padding: clamp(1.5rem, 3vw, 2.25rem);
}
.events-info-card h2 {
    font-size: clamp(1.55rem, 2.3vw, 2.15rem);
    margin-bottom: .85rem;
}
.events-info-card p:not(.eyebrow) {
    color: var(--sharon-muted);
    margin-bottom: 0;
}
.events-info-card-purple {
    background: linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.9));
    color: #fff;
}
.events-info-card-purple h2,
.events-info-card-purple p,
.events-info-card-purple .eyebrow {
    color: #fff;
}
.events-calendar-section {
    border-bottom: 1px solid var(--sharon-border);
    border-top: 1px solid var(--sharon-border);
}
.events-shell {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 2rem;
    box-shadow: var(--sharon-shadow);
    padding: clamp(1rem, 3vw, 2rem);
}
.events-empty-card,
.events-shell .tribe-events-c-messages__message,
.events-shell .tribe-events-calendar-list__empty {
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.78));
    border: 1px solid var(--sharon-border) !important;
    border-radius: 1.25rem;
    color: var(--sharon-muted);
    padding: 1.5rem !important;
}
.events-empty-card h3 {
    margin-bottom: .5rem;
}
.events-shell .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container,
.events-shell .tribe-events .tribe-events-l-container {
    min-height: 0;
    padding: 0;
}
.events-shell .tribe-events-c-top-bar__datepicker-button,
.events-shell .tribe-events-c-view-selector__button,
.events-shell .tribe-events-c-events-bar__search-button {
    color: var(--sharon-ink);
}
.events-shell .tribe-events-calendar-list__event-row {
    border-radius: 1.5rem;
}
.events-shell .tribe-events-calendar-list__event-date-tag-weekday,
.events-shell .tribe-events-calendar-list__event-date-tag-daynum {
    color: var(--sharon-purple);
}
.events-shell .tribe-events-calendar-list__event-title-link,
.events-shell .tribe-events-calendar-list__event-title-link:visited,
.events-shell .tribe-events-calendar-list__event-title-link:hover {
    color: var(--sharon-ink);
}
.events-shell .tribe-events-calendar-list__event-description,
.events-shell .tribe-events-calendar-list__event-datetime,
.events-shell .tribe-events-calendar-list__event-venue {
    color: var(--sharon-muted);
}
.events-cta-panel {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.92)),
        url('../images/mindsoulspirit.jpg') center/cover no-repeat;
    border-radius: 2rem;
    box-shadow: var(--sharon-shadow);
    color: #fff;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(2rem, 5vw, 4rem);
}
.events-cta-panel h2,
.events-cta-panel p,
.events-cta-panel .eyebrow {
    color: #fff;
}
.events-cta-panel p:not(.eyebrow) {
    font-size: 1.05rem;
    margin-bottom: 0;
    max-width: 780px;
}
.events-cta-panel .btn {
    flex: 0 0 auto;
}
@media (max-width: 991px) {
    .events-hero-note {
        margin-top: 1rem;
        max-width: none;
        position: static;
    }
    .events-cta-panel {
        align-items: flex-start;
        flex-direction: column;
    }
}
@media (max-width: 575px) {
    .events-info-card,
    .events-shell,
    .events-cta-panel {
        border-radius: 1.25rem;
    }
}

/* Event single refinements */
.events-info-card-purple,
.events-info-card-purple h2,
.events-info-card-purple h3,
.events-info-card-purple p,
.events-info-card-purple .eyebrow {
    color: #fff;
}
.events-info-card-purple p {
    color: rgba(255,255,255,.86);
}
.event-single-shell {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 2rem;
    box-shadow: var(--sharon-shadow);
    padding: clamp(1.5rem, 4vw, 2.5rem);
}
.event-back-link {
    display: inline-block;
    margin-bottom: 1.5rem;
}
.event-content-card h2 {
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: .98;
    margin-bottom: .75rem;
}
.event-meta-line {
    color: var(--sharon-muted);
    font-weight: 700;
    margin-bottom: 1.5rem;
}
.event-entry-content {
    color: var(--sharon-muted);
    font-size: 1.02rem;
    line-height: 1.8;
}
.event-entry-content > *:last-child {
    margin-bottom: 0;
}
.event-details-card {
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.85));
    border: 1px solid var(--sharon-border);
    border-radius: 1.4rem;
    box-shadow: 0 18px 50px rgba(48,47,146,.08);
    padding: 1.5rem;
    position: sticky;
    top: 8rem;
}
.event-details-card h3 {
    font-size: 1.7rem;
    margin-bottom: 1rem;
}
.event-details-list {
    display: grid;
    gap: .75rem;
}
.event-detail-item {
    border-bottom: 1px solid rgba(48,47,146,.1);
    padding-bottom: .75rem;
}
.event-detail-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.event-detail-item span {
    color: var(--sharon-purple);
    display: block;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin-bottom: .2rem;
    text-transform: uppercase;
}
.event-detail-item strong {
    color: var(--sharon-ink);
    display: block;
    font-size: .96rem;
    line-height: 1.5;
}
.event-details-card .btn {
    white-space: normal;
}
.event-single-main .tribe-events-single-section,
.event-single-main .tribe-events-event-meta,
.event-single-main .tribe-events-sub-nav,
.event-single-main .tribe-events-back,
.event-single-main .tribe-events-notices,
.event-single-main .tribe-events-cal-links {
    display: none !important;
}
@media (max-width: 991px) {
    .event-details-card {
        position: static;
    }
}

/* Events cleanup pass */
.events-hero-card .interior-hero-image {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.events-hero-note .eyebrow,
.events-info-card-purple .eyebrow {
    color: rgba(255,255,255,.92);
}
.events-info-card-purple p:not(.eyebrow) {
    color: rgba(255,255,255,.9) !important;
}
.sharon-event-list {
    display: grid;
    gap: 1rem;
}
.sharon-event-card {
    align-items: flex-start;
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.45));
    border: 1px solid var(--sharon-border);
    border-radius: 1.35rem;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 82px minmax(0, 1fr);
    padding: clamp(1.1rem, 2.4vw, 1.55rem);
}
.sharon-event-date-badge {
    background: #fff;
    border: 1px solid rgba(48,47,146,.16);
    border-radius: 1rem;
    box-shadow: 0 14px 35px rgba(48,47,146,.08);
    color: var(--sharon-blue);
    line-height: 1;
    padding: .85rem .45rem;
    text-align: center;
}
.sharon-event-date-badge span {
    display: block;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin-bottom: .3rem;
    text-transform: uppercase;
}
.sharon-event-date-badge strong {
    color: var(--sharon-ink);
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 2rem;
}
.sharon-event-card h3 {
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.1;
    margin-bottom: .35rem;
}
.sharon-event-card h3 a {
    color: var(--sharon-ink);
    text-decoration: none;
}
.sharon-event-card h3 a:hover {
    color: var(--sharon-purple);
}
.sharon-event-card-meta {
    color: var(--sharon-muted);
    font-size: .94rem;
    font-weight: 700;
    margin-bottom: .7rem;
}
.sharon-event-card-body p:not(.sharon-event-card-meta) {
    color: var(--sharon-muted);
    font-size: .98rem;
    line-height: 1.6;
    margin-bottom: .75rem;
}
.event-content-card h2 {
    font-size: clamp(1.8rem, 3.2vw, 2.8rem);
    line-height: 1.05;
}
.event-details-card h3 {
    font-size: clamp(1.25rem, 2vw, 1.55rem);
}
.event-detail-item span {
    font-size: .68rem;
}
.event-detail-item strong {
    font-size: .94rem;
    font-weight: 800;
}
.event-entry-content h2,
.event-entry-content h3,
.events-shell h2,
.events-shell h3,
.tribe-events-single-section-title,
.tribe-events-meta-group h2,
.tribe-events-meta-group h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem) !important;
    line-height: 1.15 !important;
}
.event-entry-content ul,
.events-shell ul {
    margin-bottom: 1rem;
}
.event-entry-content li,
.events-shell li {
    color: var(--sharon-muted);
    font-size: .98rem;
    line-height: 1.55;
    margin-bottom: .25rem;
}
@media (max-width: 575px) {
    .sharon-event-card {
        grid-template-columns: 1fr;
    }
    .sharon-event-date-badge {
        max-width: 90px;
    }
}

/* Contact page pass */
.contact-intro-section {
    background: #fffdf8;
}
.contact-action-card {
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.48));
    border: 1px solid var(--sharon-border);
    border-radius: 1.4rem;
    box-shadow: 0 18px 55px rgba(48,47,146,.08);
    padding: clamp(1.45rem, 2.6vw, 2rem);
}
.contact-action-card-primary {
    background: linear-gradient(135deg, rgba(48,47,146,.96), rgba(168,70,168,.9));
    color: #fff;
}
.contact-action-card-primary .eyebrow,
.contact-action-card-primary h2,
.contact-action-card-primary p {
    color: #fff;
}
.contact-action-card h2 {
    font-size: clamp(1.65rem, 2.7vw, 2.35rem);
    line-height: 1.05;
    margin-bottom: .85rem;
}
.contact-action-card p {
    color: var(--sharon-muted);
    line-height: 1.7;
    margin-bottom: 1.35rem;
}
.contact-action-card-primary p {
    color: rgba(255,255,255,.88);
}
.contact-image-stack {
    position: relative;
}
.contact-image-main {
    background: #fff;
    border: .75rem solid #fff;
    border-radius: 1.75rem;
    box-shadow: var(--sharon-shadow);
    width: 100%;
}
.contact-floating-note {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1rem;
    bottom: -1.4rem;
    box-shadow: var(--sharon-shadow);
    max-width: 275px;
    padding: 1.1rem;
    position: absolute;
    right: -1rem;
}
.contact-floating-note p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: .9rem;
    line-height: 1.55;
}
.contact-content-shell h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
    line-height: 1.05;
}
.contact-existing-content {
    border-top: 1px solid var(--sharon-border);
    margin-top: 1.4rem;
    padding-top: 1.4rem;
}
.contact-inline-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.5rem;
}
.contact-final-section {
    background: #fffdf8;
}
@media (max-width: 991px) {
    .contact-floating-note {
        bottom: auto;
        margin-top: 1rem;
        max-width: 100%;
        position: relative;
        right: auto;
    }
}

/* Contact decision pass */
.contact-decision-section {
    background: #fffdf8;
    padding-bottom: clamp(3.5rem, 7vw, 6rem);
    padding-top: clamp(3.5rem, 7vw, 6rem);
}
.contact-decision-panel {
    background: linear-gradient(180deg, #fff, rgba(247,242,251,.55));
    border: 1px solid var(--sharon-border);
    border-radius: 1.75rem;
    box-shadow: 0 22px 75px rgba(48,47,146,.08);
    padding: clamp(1.4rem, 3vw, 2.4rem);
}
.contact-decision-header {
    max-width: 780px;
    margin: 0 auto 2rem;
    text-align: center;
}
.contact-decision-header h2 {
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.04;
    margin-bottom: .8rem;
}
.contact-decision-header p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: 1.03rem;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 680px;
}
.contact-decision-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.contact-decision-grid .contact-action-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.contact-decision-grid .contact-action-card h3 {
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.05;
    margin-bottom: .75rem;
}
.contact-decision-grid .contact-action-card p:not(.eyebrow) {
    flex: 1 1 auto;
    font-size: .98rem;
    line-height: 1.65;
    margin-bottom: 1.2rem;
}
.contact-note-row {
    align-items: flex-start;
    background: rgba(255,255,255,.75);
    border: 1px solid var(--sharon-border);
    border-radius: 1rem;
    color: var(--sharon-muted);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    line-height: 1.65;
    margin-top: 1.25rem;
    padding: 1rem 1.1rem;
}
.contact-note-row strong {
    color: var(--sharon-ink);
}
.contact-existing-content-compact {
    border: 0;
    margin: 0;
    max-width: 360px;
    padding: 0;
}
.contact-existing-content-compact > *:last-child {
    margin-bottom: 0;
}
@media (max-width: 991px) {
    .contact-decision-grid {
        grid-template-columns: 1fr;
    }
    .contact-note-row {
        display: block;
    }
    .contact-existing-content-compact {
        margin-top: .75rem;
        max-width: 100%;
    }
}

/* Blog polish pass */
.blog-hero .hero-lead,
.blog-single-hero .hero-lead {
    color: var(--sharon-muted);
    max-width: 680px;
}
.blog-hero-card,
.blog-single-image-card {
    background: #fff;
    border: .75rem solid #fff;
    border-radius: 1.75rem;
    box-shadow: var(--sharon-shadow);
    overflow: hidden;
    position: relative;
}
.blog-hero-card img,
.blog-single-image-card img {
    aspect-ratio: 16 / 10;
    height: auto;
    object-fit: cover;
    width: 100%;
}
.blog-hero-card-small img {
    aspect-ratio: 4 / 3;
}
.blog-hero-note {
    background: rgba(255,255,255,.94);
    border: 1px solid var(--sharon-border);
    border-radius: 1rem;
    box-shadow: 0 16px 45px rgba(48,47,146,.12);
    bottom: 1rem;
    left: -1rem;
    max-width: 275px;
    padding: 1rem;
    position: absolute;
}
.blog-hero-note p:not(.eyebrow) {
    color: var(--sharon-muted);
    font-size: .92rem;
    line-height: 1.55;
}
.blog-index-section {
    background: linear-gradient(180deg, #fffdf8 0%, #f7f2fb 100%);
}
.blog-layout-grid {
    display: grid;
    gap: 1.35rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.blog-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.4rem;
    box-shadow: 0 18px 55px rgba(48,47,146,.08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}
.blog-card:hover {
    box-shadow: 0 24px 70px rgba(48,47,146,.13);
    transform: translateY(-4px);
}
.blog-card-image-link {
    background: var(--sharon-soft);
    display: block;
    overflow: hidden;
}
.blog-card-image-link img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform .25s ease;
    width: 100%;
}
.blog-card:hover .blog-card-image-link img {
    transform: scale(1.035);
}
.blog-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: clamp(1.25rem, 2vw, 1.65rem);
}
.blog-card-meta {
    color: var(--sharon-purple);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin-bottom: .55rem;
    text-transform: uppercase;
}
.blog-card h2 {
    font-size: clamp(1.4rem, 2.1vw, 2rem);
    letter-spacing: -.03em;
    line-height: 1.08;
    margin-bottom: .75rem;
}
.blog-card h2 a {
    color: var(--sharon-ink);
    text-decoration: none;
}
.blog-card h2 a:hover {
    color: var(--sharon-purple);
}
.blog-card p:not(.blog-card-meta) {
    color: var(--sharon-muted);
    flex: 1 1 auto;
    line-height: 1.65;
}
.blog-card-compact .blog-card-body {
    min-height: 100%;
}
.blog-single-section {
    background: var(--sharon-soft);
}
.blog-single-layout {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) 330px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1180px;
}
.blog-article-shell,
.blog-sidebar-card {
    background: #fff;
    border: 1px solid var(--sharon-border);
    border-radius: 1.5rem;
    box-shadow: 0 18px 55px rgba(48,47,146,.08);
}
.blog-article-shell {
    padding: clamp(1.6rem, 4vw, 3.25rem);
}
.blog-article-meta {
    align-items: center;
    border-bottom: 1px solid var(--sharon-border);
    color: var(--sharon-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .92rem;
    font-weight: 800;
    gap: .75rem 1.2rem;
    justify-content: space-between;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
}
.blog-entry-content {
    color: var(--sharon-ink);
    font-size: 1.05rem;
    line-height: 1.85;
}
.blog-entry-content > *:first-child {
    margin-top: 0;
}
.blog-entry-content h2,
.blog-entry-content h3,
.blog-entry-content h4 {
    margin-bottom: .8rem;
    margin-top: 2rem;
}
.blog-entry-content h2 {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}
.blog-entry-content h3 {
    font-size: clamp(1.4rem, 2.2vw, 2rem);
}
.blog-entry-content p,
.blog-entry-content li {
    color: var(--sharon-muted);
}
.blog-entry-content img {
    border-radius: 1rem;
    height: auto;
    margin: 1rem 0;
    max-width: 100%;
}
.blog-sidebar-card {
    align-self: start;
    padding: 1.5rem;
    position: sticky;
    top: 7.5rem;
}
.blog-sidebar-card h2 {
    font-size: clamp(1.55rem, 2.3vw, 2.15rem);
    letter-spacing: -.03em;
    margin-bottom: .75rem;
}
.blog-sidebar-card p:not(.eyebrow) {
    color: var(--sharon-muted);
    line-height: 1.65;
}
.blog-sidebar-actions {
    display: grid;
    gap: .75rem;
    margin-top: 1.15rem;
}
@media (max-width: 991px) {
    .blog-layout-grid,
    .blog-single-layout {
        grid-template-columns: 1fr;
    }
    .blog-sidebar-card {
        position: static;
    }
    .blog-hero-note {
        left: 1rem;
    }
}
@media (max-width: 575px) {
    .blog-card-body,
    .blog-article-shell,
    .blog-sidebar-card {
        padding: 1.25rem;
    }
    .blog-article-meta {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* v1.1.23 payment option cards and 404 alignment */
.error404 .compact-hero,
.error404 .compact-hero .container {
  text-align: center;
}

.error404 .compact-hero h1,
.error404 .compact-hero .hero-lead {
  margin-left: auto;
  margin-right: auto;
}

.payment-options-section {
  border-top: 1px solid rgba(74, 62, 120, 0.08);
  border-bottom: 1px solid rgba(74, 62, 120, 0.08);
}

.payment-options-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4rem;
}

.payment-option-card {
  background: #fff;
  border: 1px solid rgba(74, 62, 120, 0.12);
  border-radius: 22px;
  padding: 1.6rem;
  box-shadow: 0 18px 55px rgba(40, 32, 70, 0.08);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.payment-option-card h3 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  margin-bottom: 1rem;
}

.payment-option-card p:not(.eyebrow) {
  color: var(--sharon-muted);
  font-size: 0.96rem;
  line-height: 1.65;
}

.payment-option-card .btn {
  margin-top: auto;
  align-self: flex-start;
}

.payment-option-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid rgba(74, 62, 120, 0.1);
  border-bottom: 1px solid rgba(74, 62, 120, 0.1);
  padding: 0.8rem 0;
  margin-bottom: 1rem;
  color: var(--sharon-muted);
  font-size: 0.92rem;
}

.payment-option-meta strong {
  color: var(--sharon-blue);
  font-size: 1.15rem;
}

.payment-options-note {
  margin-top: 1.6rem;
  color: var(--sharon-muted);
  font-size: 0.95rem;
}

@media (max-width: 1199px) {
  .payment-options-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .payment-options-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.1.26 scheduling/payment flow */
.booking-section {
  background: linear-gradient(180deg, #fff 0%, var(--sharon-cream) 100%);
}
.booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
  gap: 2rem;
  align-items: start;
}
.booking-intro-card,
.booking-form-card,
.booking-unavailable-notice {
  background: #fff;
  border: 1px solid rgba(74, 62, 120, 0.12);
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(40, 32, 70, 0.08);
  padding: clamp(1.4rem, 3vw, 2.2rem);
}
.booking-intro-card h2 {
  font-size: clamp(1.75rem, 3vw, 2.6rem);
  margin-bottom: 1rem;
}
.booking-intro-card p {
  color: var(--sharon-muted);
  line-height: 1.7;
}
.booking-service-list {
  display: grid;
  gap: 0.75rem;
  margin: 1.5rem 0;
}
.booking-service-list div,
.booking-service-list a {
  border: 1px solid rgba(74, 62, 120, 0.1);
  border-radius: 16px;
  padding: 0.9rem 1rem;
  background: rgba(250, 247, 240, 0.72);
  text-decoration: none;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.booking-service-list a:hover {
  transform: translateY(-2px);
  border-color: rgba(113, 70, 177, 0.35);
  box-shadow: 0 12px 30px rgba(40, 32, 70, 0.08);
}
.booking-service-list strong,
.booking-service-list span {
  display: block;
}
.booking-service-list strong {
  color: var(--sharon-heading);
  font-size: 0.98rem;
  margin-bottom: 0.2rem;
}
.booking-service-list span,
.booking-note {
  color: var(--sharon-muted);
  font-size: 0.92rem;
}
.booking-form-card .birs_appointment_form,
.booking-form-card form {
  max-width: 100%;
}
.booking-form-card input[type="text"],
.booking-form-card input[type="email"],
.booking-form-card input[type="tel"],
.booking-form-card input[type="password"],
.booking-form-card select,
.booking-form-card textarea {
  width: 100%;
  border: 1px solid rgba(74, 62, 120, 0.18);
  border-radius: 12px;
  padding: 0.72rem 0.85rem;
  min-height: 44px;
}
.booking-form-card input[type="submit"],
.booking-form-card button,
.booking-form-card .button {
  border: 0;
  border-radius: 999px;
  background: var(--sharon-purple);
  color: #fff;
  padding: 0.82rem 1.4rem;
  font-weight: 700;
  text-decoration: none;
}
.booking-form-card label {
  color: var(--sharon-heading);
  font-weight: 700;
  margin-bottom: 0.35rem;
}
.booking-form-card .birs_form_field {
  margin-bottom: 1rem;
}
.booking-unavailable-notice p:last-child {
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .booking-layout {
    grid-template-columns: 1fr;
  }
}


.scheduling-embed-card {
  padding: 0;
  overflow: hidden;
}
.scheduling-embed-wrap {
  min-height: 720px;
  position: relative;
  background: #fff;
}
.scheduling-embed {
  display: block;
  width: 100%;
  min-height: 720px;
  border: 0;
}
.scheduling-embed-fallback {
  margin: 0;
  padding: 0.9rem 1rem 1.1rem;
  color: var(--sharon-muted);
  font-size: 0.88rem;
  text-align: center;
}
@media (max-width: 767px) {
  .scheduling-embed-wrap,
  .scheduling-embed {
    min-height: 760px;
  }
}
