/* Faith Mental Health and Wellness – theme styles (merged from all original pages). */

:root {
    --primary-dark: #4A1D54;
    --primary-brand: #8B3A8B;
    --primary-light: #F9F4F9;
    --accent-gold: #F29C38;
    --text-dark: #1A1A1A;
    --text-gray: #4A4A4A;
    --bg-offwhite: #F8F9FA;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Plus Jakarta Sans', sans-serif;
    --font-handwriting: 'Caveat', cursive;
}

body {
    font-family: var(--font-body);
    color: var(--text-dark);
    background-color: white;
    line-height: 1.6;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, .font-heading {
    font-family: var(--font-heading);
}

.font-caveat {
    font-family: var(--font-handwriting);
}

.top-bar {
    background-color: var(--primary-dark);
    color: white;
    font-size: 0.85rem;
}

.nav-link {
    color: var(--text-dark);
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.3s;
}

.nav-link:hover, .nav-link.active {
    color: var(--primary-brand);
}

.nav-link.active {
    border-bottom: 2px solid var(--primary-brand);
    padding-bottom: 4px;
}

.btn-primary {
    background-color: var(--primary-brand);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    transition: background-color 0.3s;
}

.btn-primary:hover {
    background-color: var(--primary-dark);
}

.btn-outline {
    border: 1px solid var(--text-dark);
    color: var(--text-dark);
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s;
}

.btn-outline:hover {
    background-color: var(--bg-offwhite);
}

.btn-gold {
    background-color: var(--accent-gold);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: opacity 0.3s;
}

.btn-gold:hover {
    opacity: 0.9;
}

.btn-dark {
    background-color: #3D1E4A;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    transition: background-color 0.3s;
}

.btn-dark:hover {
    background-color: #2E1136;
}

.feature-icon-wrapper {
    width: 56px;
    height: 56px;
    background-color: #F2E6F2;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-dark);
    flex-shrink: 0;
}

.check-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}

.check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--accent-gold);
    font-weight: bold;
}

.pricing-table {
    width: 100%;
    border-collapse: collapse;
}

.pricing-table tr {
    border-bottom: 1px solid rgba(255,255,255,0.2);
}

.pricing-table td {
    padding: 1rem 0;
    color: white;
    font-size: 0.9rem;
}

.testimonial-bg {
    background-color: var(--primary-light);
    position: relative;
}

.footer-main {
    background-color: var(--primary-dark);
    color: white;
}

.footer-bottom {
    background-color: #2E1136;
    color: #DDAEDD;
    font-size: 0.8rem;
}

.brand-check {
    color: var(--primary-brand);
}

@keyframes pulse-soft {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(139, 58, 139, 0.7); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(139, 58, 139, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(139, 58, 139, 0); }
}

.pulse-anim {
    animation: pulse-soft 2s infinite;
}

.modal-input {
    width: 100%;
    border: 1px solid #D1D5DB;
    border-radius: 0.5rem;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    outline: none;
    transition: all 0.2s;
    background-color: white;
}

.modal-input:focus {
    border-color: var(--primary-brand);
    box-shadow: 0 0 0 2px rgba(139, 58, 139, 0.2);
}

.typewriter-text {
    border-right: 2px solid var(--primary-brand);
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    padding-right: 2px;
    animation: blink-caret 0.75s step-end infinite;
}

@keyframes blink-caret {
    from, to { border-color: transparent }
    50% { border-color: var(--primary-brand); }
}

.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.hero-slide {
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    position: absolute;
    inset: 0;
}

.hero-slide.active {
    opacity: 1;
    z-index: 1;
}

.value-icon-wrapper {
    width: 64px;
    height: 64px;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-brand);
    font-size: 1.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    margin-bottom: 1rem;
}

.gap-check-list li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
}

.gap-check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--accent-gold);
    font-weight: bold;
    font-size: 1.2rem;
    top: -2px;
}

textarea.modal-input {
    resize: vertical;
    min-height: 120px;
}

.contact-info-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.5rem;
    background-color: white;
    border-radius: 1rem;
    border: 1px solid var(--primary-light);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.05);
}

.contact-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #F2E6F2;
    color: var(--primary-brand);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.pricing-card {
    background: white;
    border-radius: 1.5rem;
    padding: 2.5rem 2rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid var(--primary-light);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-col;
}

.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.pricing-card.featured {
    background: var(--primary-dark);
    color: white;
    border: none;
}

.icon-box {
    width: 50px;
    height: 50px;
    background-color: var(--primary-light);
    color: var(--primary-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

/* ---------- WordPress additions ---------- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:#4A1D54;display:block;font-size:.875rem;font-weight:600;height:auto;left:8px;padding:12px 20px;top:8px;width:auto;z-index:100000;border-radius:6px;box-shadow:0 0 6px rgba(0,0,0,.3)}
.admin-bar header.site-header{top:32px}
@media (max-width:782px){.admin-bar header.site-header{top:46px}}
.fmhw-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fmhw-notice{border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;margin-bottom:1rem}
.fmhw-notice.is-success{background:#ECF8EF;color:#1D5E32;border:1px solid #BFE5CB}
.fmhw-notice.is-error{background:#FDEEEE;color:#8A1F1F;border:1px solid #F3C4C4}
.fmhw-form button[disabled]{opacity:.6;cursor:wait}

/* Generic content (posts and pages that do not use the full-width sections template) */
.entry-content{font-size:1rem;line-height:1.75;color:var(--text-gray)}
.entry-content > * + *{margin-top:1.25rem}
.entry-content h2,.entry-content h3,.entry-content h4{color:var(--primary-dark);font-weight:600;line-height:1.25;margin-top:2rem}
.entry-content h2{font-size:1.875rem}.entry-content h3{font-size:1.5rem}.entry-content h4{font-size:1.25rem}
.entry-content a{color:var(--primary-brand);text-decoration:underline}
.entry-content ul{list-style:disc;padding-left:1.5rem}.entry-content ol{list-style:decimal;padding-left:1.5rem}
.entry-content blockquote{border-left:4px solid var(--accent-gold);padding-left:1rem;font-style:italic}
.entry-content img{max-width:100%;height:auto;border-radius:.75rem}
.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{border:1px solid #E5E7EB;padding:.5rem .75rem;text-align:left}
.alignwide{max-width:1200px;margin-left:auto;margin-right:auto}.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin-left:auto;margin-right:auto}
.pagination .page-numbers{display:inline-block;padding:.4rem .85rem;border:1px solid #E5E7EB;border-radius:9999px;margin:0 .15rem;font-size:.875rem}
.pagination .page-numbers.current{background:var(--primary-brand);border-color:var(--primary-brand);color:#fff}
