/* ============================================
   MFV Prayer Wall — Styles v1.5.1
   Tailwind-inspired design with --mfl-* tokens
   ============================================ */

/* --- Layout --- */
.mfv-prayer-wall-wrapper {
    max-width: 1100px;
    margin: 28px auto 0;
    padding: 0 16px 40px;
    font-family: var(--mfl-font-body, 'DM Sans', 'Inter', sans-serif);
    color: var(--mfl-text-body, var(--mfv-slate-600, #475569));
}

/* --- Hero Header (Slideshow) --- */
.mfv-prayer-hero {
    position: relative;
    min-height: 420px;
    border-radius: var(--mfl-radius-xl, 24px);
    overflow: hidden;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #0891b2 0%, #22d3ee 50%, #67e8f9 100%);
}

/* Crossfade image slides */
.mfv-prayer-hero__slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.9s ease;
    pointer-events: none;
}
.mfv-prayer-hero__slide--active {
    opacity: 1;
}

/* Warm light overlay — soft teal/purple tint, NO black */
.mfv-prayer-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(14,116,144,0.25) 0%, rgba(124,58,237,0.15) 100%);
    z-index: 1;
    pointer-events: none;
}

/* Content layer */
.mfv-prayer-hero__content {
    position: relative;
    z-index: 2;
    padding: 44px 32px 32px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 420px;
}
.mfv-prayer-hero__title {
    font-family: var(--mfl-font-heading, 'Poppins', sans-serif);
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 6px;
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0,0,0,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.mfv-prayer-hero__icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.mfv-prayer-hero__icon svg {
    stroke: rgba(255,255,255,0.9);
    filter: drop-shadow(0 1px 4px rgba(0,0,0,0.3));
}
.mfv-prayer-hero__subtitle {
    font-size: 15px;
    margin: 0;
    color: rgba(255,255,255,0.92) !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}

/* Actions row: Post button + prefs gear */
.mfv-prayer-hero__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    flex-wrap: wrap;
}

/* Solid orange Post button inside hero — pops against photo backgrounds */
.mfv-prayer-hero__actions .mfv-prayer-post-btn {
    background: var(--mfl-accent, #f97316);
    color: #fff;
    box-shadow: 0 4px 16px rgba(249, 115, 22, 0.45);
}
.mfv-prayer-hero__actions .mfv-prayer-post-btn:hover {
    background: #ea6c0d;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(249, 115, 22, 0.55);
}

/* Slide dot indicators */
.mfv-prayer-hero__dots {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: 6px;
    align-items: center;
}
.mfv-prayer-hero__dot {
    width: 7px;
    height: 7px;
    border-radius: 9999px;
    border: none;
    background: rgba(255,255,255,0.45);
    cursor: pointer;
    padding: 0;
    transition: background 0.3s, width 0.3s;
}
.mfv-prayer-hero__dot--active {
    background: #fff;
    width: 20px;
}

/* Attribution */
.mfv-prayer-hero__attribution {
    position: absolute;
    bottom: 10px;
    right: 16px;
    z-index: 3;
    font-size: 10px;
    color: rgba(255,255,255,0.55);
    line-height: 1;
}
.mfv-prayer-hero__attribution a {
    color: rgba(255,255,255,0.55);
    text-decoration: none;
}
.mfv-prayer-hero__attribution a:hover {
    color: rgba(255,255,255,0.85);
    text-decoration: underline;
}

/* --- Post Button --- */
.mfv-prayer-post-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    border-radius: 9999px;
    background: linear-gradient(135deg, var(--mfl-primary, var(--mfv-primary, #0e7490)), var(--mfl-primary-light, #0891b2));
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: var(--mfl-font-body, 'DM Sans', sans-serif);
}
.mfv-prayer-post-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.3);
}

/* --- Search --- */
.mfv-prayer-search {
    margin-bottom: 16px;
}
.mfv-prayer-search input {
    width: 100%;
    padding: 12px 16px 12px 44px;
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    border-radius: var(--mfl-radius-lg, 16px);
    font-size: 14px;
    background: var(--mfl-bg-white, #fff);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 14px center;
    transition: border-color 0.15s, box-shadow 0.15s;
    font-family: inherit;
}
.mfv-prayer-search input:focus {
    outline: none;
    border-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    box-shadow: 0 0 0 3px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.1);
}

/* --- Filter Chips --- */
.mfv-prayer-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.mfv-prayer-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 7px 16px;
    border-radius: 9999px;
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    background: var(--mfl-bg-white, #fff);
    color: var(--mfv-slate-600, #475569);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
}
.mfv-prayer-chip:hover {
    border-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    background: rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.04);
}
.mfv-prayer-chip--active {
    background: linear-gradient(135deg, var(--mfl-primary, var(--mfv-primary, #0e7490)), var(--mfl-primary-light, #0891b2));
    border-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    color: #fff;
    box-shadow: 0 2px 8px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.25);
}
.mfv-prayer-chip--needs {
    border-color: #f59e0b;
    color: #92400e;
}
.mfv-prayer-chip--needs:hover {
    background: rgba(245, 158, 11, 0.06);
    border-color: #d97706;
}
.mfv-prayer-chip--needs.mfv-prayer-chip--active {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    border-color: #f59e0b;
    color: #fff;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}
.mfv-prayer-chip--praise {
    border-color: #22c55e;
    color: #166534;
}
.mfv-prayer-chip--praise:hover {
    background: rgba(34, 197, 94, 0.06);
}
.mfv-prayer-chip--praise.mfv-prayer-chip--active {
    background: linear-gradient(135deg, #22c55e, #4ade80);
    border-color: #22c55e;
    color: #fff;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.3);
}
.mfv-prayer-chip--praying {
    border-color: #7c3aed;
    color: #6d28d9;
}
.mfv-prayer-chip--praying:hover {
    background: rgba(124, 58, 237, 0.06);
}
.mfv-prayer-chip--praying.mfv-prayer-chip--active {
    background: linear-gradient(135deg, #7c3aed, #a78bfa);
    border-color: #7c3aed;
    color: #fff;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.3);
}

/* --- Prayer List — base (list view = single column) --- */
.mfv-prayer-list {
    transition: opacity 0.25s ease;
    column-count: 1 !important; /* Force single column in list view */
}
.mfv-prayer-list--refreshing {
    opacity: 0.5;
    pointer-events: none;
}

/* List view: no thumbtacks, no rotation */
.mfv-prayer-list:not(.mfv-prayer-list--grid) .mfv-prayer-card::before,
.mfv-prayer-list:not(.mfv-prayer-list--grid) .mfv-prayer-card::after {
    display: none !important;
}

/* --- Grid view: 3-column masonry --- */
.mfv-prayer-list--grid {
    column-count: 3 !important;
    column-gap: 14px;
    padding-top: 14px; /* Room for thumbtacks */
}
@media (max-width: 1200px) {
    .mfv-prayer-list--grid { column-count: 2 !important; column-gap: 12px; }
}
@media (max-width: 640px) {
    .mfv-prayer-list--grid { column-count: 1 !important; }
}

/* --- Prayer Card — Base styles (both views) --- */
.mfv-prayer-card {
    position: relative;
    background: var(--mfl-bg-white, #fff);
    border-radius: var(--mfl-radius-lg, 16px);
    padding: 14px 18px;
    margin-bottom: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02);
    border: 1px solid var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9));
    border-left: 4px solid transparent;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.mfv-prayer-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}
.mfv-prayer-card--answered {
    border-left-color: #22c55e !important;
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
}
.mfv-prayer-card--pending {
    border-left-color: #f59e0b;
    opacity: .75;
}

/* ═══ GRID VIEW — Post-it note + thumbtack + masonry ═══ */
.mfv-prayer-list--grid .mfv-prayer-card {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    background: #fffef5;
    border-radius: 2px;
    padding: 24px 14px 12px; /* Extra top padding for thumbtack */
    margin-top: 0;
    margin-bottom: 14px;
    box-shadow: 2px 3px 8px rgba(0,0,0,0.08), 1px 1px 3px rgba(0,0,0,0.05);
    border: none;
    border-left: none;
    flex-direction: column;
    gap: 4px;
    overflow: hidden; /* Prevent thumbtack from being orphaned */
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* Slight random rotation */
.mfv-prayer-list--grid .mfv-prayer-card:nth-child(odd)   { transform: rotate(-0.6deg); }
.mfv-prayer-list--grid .mfv-prayer-card:nth-child(even)  { transform: rotate(0.4deg); }
.mfv-prayer-list--grid .mfv-prayer-card:nth-child(3n)    { transform: rotate(-0.3deg); }
.mfv-prayer-list--grid .mfv-prayer-card:nth-child(4n+1)  { transform: rotate(0.5deg); }

.mfv-prayer-list--grid .mfv-prayer-card:hover {
    box-shadow: 4px 6px 18px rgba(0,0,0,0.12), 2px 3px 6px rgba(0,0,0,0.06);
    transform: rotate(0deg) translateY(-2px) !important;
    z-index: 2;
}

/* Thumbtack — inside the card (not above it) to prevent orphaning */
.mfv-prayer-list--grid .mfv-prayer-card::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, #e74c3c 0%, #c0392b 55%, #922b21 100%);
    box-shadow: 0 2px 3px rgba(0,0,0,0.3), inset 0 1px 1px rgba(255,255,255,0.2);
    z-index: 3;
}

/* Corner curl on hover — reveals page background underneath */
.mfv-prayer-list--grid .mfv-prayer-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 4;
    pointer-events: none;
    /* The "underside" gradient — transparent to reveal the page bg */
    background: transparent;
}
.mfv-prayer-list--grid .mfv-prayer-card:hover::after {
    width: 30px;
    height: 30px;
    /* Transparent center reveals page bg; folded edge has paper shadow */
    background:
        linear-gradient(225deg,
            transparent 0%,                        /* Page background shows through */
            transparent 40%,
            rgba(0, 0, 0, 0.04) 42%,              /* Thin fold line */
            rgba(255, 254, 245, 0.7) 44%,          /* Curled paper underside */
            rgba(255, 254, 245, 0.3) 60%,
            transparent 65%
        );
    box-shadow:
        -3px -3px 6px rgba(0, 0, 0, 0.1),        /* Shadow cast by lifted corner */
        inset 1px 1px 2px rgba(0, 0, 0, 0.03);
    border-bottom-right-radius: 18px;
}

/* Grid post-it answered/pending */
.mfv-prayer-list--grid .mfv-prayer-card--answered {
    background: linear-gradient(160deg, #edfcf2, #f0fdf4) !important;
    border-left: none;
}
.mfv-prayer-list--grid .mfv-prayer-card--pending {
    opacity: .8;
    background: #fffce8;
    border-left: none;
}

/* Grid category tints */
.mfv-prayer-list--grid .mfv-prayer-card[data-category="healing"]      { background: #f2fdfb; }
.mfv-prayer-list--grid .mfv-prayer-card[data-category="family"]        { background: #fff7f7; }
.mfv-prayer-list--grid .mfv-prayer-card[data-category="finances"]      { background: #fffceb; }
.mfv-prayer-list--grid .mfv-prayer-card[data-category="guidance"]      { background: #f0f2ff; }
.mfv-prayer-list--grid .mfv-prayer-card[data-category="salvation"]     { background: #fbf7ff; }
.mfv-prayer-list--grid .mfv-prayer-card[data-category="community"]     { background: #f2faff; }
.mfv-prayer-list--grid .mfv-prayer-card[data-category="grief"]         { background: #fafaf8; }
.mfv-prayer-list--grid .mfv-prayer-card[data-category="thanksgiving"]  { background: #f2fdf6; }

/* Card header */
.mfv-prayer-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

/* Colorful category badges */
.mfv-prayer-card__category {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.mfv-prayer-card__category[data-cat="healing"]      { background: #f0fdfa; color: #0d9488; }
.mfv-prayer-card__category[data-cat="family"]        { background: #fff1f2; color: #e11d48; }
.mfv-prayer-card__category[data-cat="finances"]      { background: #fffbeb; color: #d97706; }
.mfv-prayer-card__category[data-cat="guidance"]      { background: #eef2ff; color: #4f46e5; }
.mfv-prayer-card__category[data-cat="salvation"]     { background: #f5f3ff; color: #7c3aed; }
.mfv-prayer-card__category[data-cat="community"]     { background: #f0f9ff; color: #0284c7; }
.mfv-prayer-card__category[data-cat="grief"]         { background: #fafaf9; color: #57534e; }
.mfv-prayer-card__category[data-cat="thanksgiving"]  { background: #ecfdf5; color: #059669; }
.mfv-prayer-card__category[data-cat="other"]         { background: var(--mfv-slate-50, #f8fafc); color: var(--mfv-slate-500, #64748b); }

/* Badges */
.mfv-praise-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    color: #166534;
    font-size: 11px;
    font-weight: 600;
}
.mfv-pending-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #92400e;
    font-size: 11px;
    font-weight: 600;
}

/* Card author */
.mfv-prayer-card__author {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.mfv-prayer-card__avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9));
}
.mfv-prayer-card__author-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--mfl-text-dark, var(--mfv-slate-800, #1e293b));
}

/* Card content */
.mfv-prayer-card__title {
    font-family: var(--mfl-font-heading, 'Poppins', sans-serif);
    font-size: 16px;
    font-weight: 600;
    color: var(--mfl-text-dark, var(--mfv-slate-800, #1e293b));
    margin: 0 0 6px;
}
.mfv-prayer-card__body {
    font-size: 14px;
    line-height: 1.65;
    color: var(--mfl-text-body, var(--mfv-slate-600, #475569));
    margin-bottom: 12px;
}

/* Foundation verse block */
.mfv-verse-block {
    margin: 8px 0;
    padding: 10px 12px;
    border-left: 3px solid var(--mfl-primary, var(--mfv-primary, #0e7490));
    background: linear-gradient(135deg, rgba(14,116,144,0.04), rgba(14,116,144,0.08));
    border-radius: 0 6px 6px 0;
    font-size: 13px;
}
.mfv-verse-text {
    font-style: italic;
    font-size: 14px;
    color: var(--mfl-text-dark, var(--mfv-slate-800, #1e293b));
    line-height: 1.65;
}
.mfv-verse-reference {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    margin-top: 6px;
}
.mfv-verse-translation {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.04em;
    opacity: 0.7;
}
.mfv-verse-reason {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    margin-top: 2px;
}

/* Reactor display */
.mfv-prayer-reactors {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    margin: 8px 0;
}

/* Card footer */
.mfv-prayer-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed rgba(0,0,0,0.08);
}
.mfv-prayer-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.mfv-prayer-card__time {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
}

/* --- Card inner layout (list view: two-column) --- */
.mfv-prayer-card__main {
    flex: 1;
    min-width: 0;
}
.mfv-prayer-card__main .mfv-prayer-card__header { margin-bottom: 6px; }
.mfv-prayer-card__main .mfv-prayer-card__author { margin-bottom: 6px; }
.mfv-prayer-card__main .mfv-prayer-card__title  { margin: 0 0 4px; }
.mfv-prayer-card__main .mfv-prayer-card__body {
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Right column in list view */
.mfv-prayer-card__aside {
    flex: 0 0 auto;
    min-width: 130px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
.mfv-prayer-card__aside .mfv-prayer-card__footer {
    flex-direction: column;
    align-items: flex-end;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    width: 100%;
}
.mfv-prayer-card__aside .mfv-prayer-card__actions {
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

/* Hide verbose elements in list view (shown in grid) */
.mfv-prayer-list:not(.mfv-prayer-list--grid) .mfv-verse-block,
.mfv-prayer-list:not(.mfv-prayer-list--grid) .mfv-prayer-reactors { display: none; }

/* --- Grid view: post-it card inner layout --- */
.mfv-prayer-list--grid .mfv-prayer-card__main {
    width: 100%;
}
.mfv-prayer-list--grid .mfv-prayer-card__main .mfv-prayer-card__header { margin-bottom: 6px; }
.mfv-prayer-list--grid .mfv-prayer-card__main .mfv-prayer-card__author { margin-bottom: 6px; }
.mfv-prayer-list--grid .mfv-prayer-card__main .mfv-prayer-card__title  { font-size: 15px; }
.mfv-prayer-list--grid .mfv-prayer-card__main .mfv-prayer-card__body  { font-size: 13px; margin-bottom: 6px; }
.mfv-prayer-list--grid .mfv-prayer-card__aside {
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 0;
}
.mfv-prayer-list--grid .mfv-prayer-card__aside .mfv-prayer-card__footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-top: 1px dashed rgba(0,0,0,0.08);
    padding-top: 8px;
    margin-top: 4px;
    width: 100%;
}
.mfv-prayer-list--grid .mfv-prayer-card__aside .mfv-prayer-card__actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
}
.mfv-prayer-list--grid .mfv-verse-block,
.mfv-prayer-list--grid .mfv-prayer-reactors { display: block; }

/* --- Pray Button --- */
.mfv-pray-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 9999px;
    border: 2px solid var(--mfl-primary, var(--mfv-primary, #0e7490));
    background: transparent;
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
}
.mfv-pray-btn:hover {
    background: rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.06);
}
.mfv-pray-btn--active {
    background: var(--mfl-primary, var(--mfv-primary, #0e7490));
    color: #fff;
    border-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    box-shadow: 0 2px 8px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.35);
}
.mfv-pray-btn--active:hover {
    background: #0c6980;
    border-color: #0c6980;
}

/* --- Edit / Report / Answered Buttons --- */
.mfv-edit-btn {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-edit-btn:hover {
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    background: rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.06);
}
.mfv-report-btn {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-report-btn:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.06);
}
.mfv-answered-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 14px;
    border-radius: 9999px;
    border: 1.5px solid #22c55e;
    background: transparent;
    color: #166534;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-answered-btn:hover {
    background: #dcfce7;
}

/* --- Quota Counter --- */
.mfv-quota-counter {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    margin-top: 8px;
}
.mfv-quota-limit {
    color: var(--mfl-accent, #f97316);
    font-weight: 600;
}

/* --- Modal --- */
.mfv-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: mfv-fade-in 0.2s;
}
@keyframes mfv-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.mfv-modal {
    background: #fff;
    border-radius: var(--mfl-radius-xl, 24px);
    padding: 32px;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 25px 60px rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.04);
    animation: mfv-slide-up 0.25s ease-out;
}
@keyframes mfv-slide-up {
    from { transform: translateY(20px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}
.mfv-modal h3 {
    font-family: var(--mfl-font-heading, 'Poppins', sans-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--mfl-text-dark, var(--mfv-slate-800, #1e293b));
    margin: 0 0 24px;
}
.mfv-modal label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--mfl-text-body, var(--mfv-slate-600, #475569));
    margin-bottom: 6px;
}
.mfv-modal input[type="text"],
.mfv-modal textarea,
.mfv-modal select {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    border-radius: var(--mfl-radius-md, 10px);
    font-size: 14px;
    margin-bottom: 16px;
    font-family: inherit;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.mfv-modal textarea {
    min-height: 100px;
    resize: vertical;
}
.mfv-modal input:focus,
.mfv-modal textarea:focus,
.mfv-modal select:focus {
    outline: none;
    border-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    box-shadow: 0 0 0 3px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.1);
}
.mfv-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
}
.mfv-modal__cancel {
    padding: 11px 22px;
    border-radius: var(--mfl-radius-md, 10px);
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    background: #fff;
    color: var(--mfl-text-body, var(--mfv-slate-600, #475569));
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-modal__cancel:hover {
    background: var(--mfl-bg-cool, var(--mfv-slate-100, #f1f5f9));
}
.mfv-modal__submit {
    padding: 11px 22px;
    border-radius: var(--mfl-radius-md, 10px);
    border: none;
    background: linear-gradient(135deg, var(--mfl-primary, var(--mfv-primary, #0e7490)), var(--mfl-primary-light, #0891b2));
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-modal__submit:hover {
    box-shadow: 0 4px 12px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.3);
    transform: translateY(-1px);
}
.mfv-modal__submit:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Anonymous checkbox */
.mfv-modal__anon {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
}
.mfv-modal__anon input[type="checkbox"] {
    width: auto;
    margin: 0;
    accent-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
}

/* Scripture Modal */
.mfv-scripture-modal {
    text-align: center;
    padding: 36px 32px;
}
.mfv-scripture-modal .mfv-verse-text {
    font-size: 18px;
    line-height: 1.7;
    max-width: 400px;
    margin: 20px auto;
}
.mfv-scripture-modal .mfv-verse-reference {
    font-size: 13px;
    margin-bottom: 8px;
}
.mfv-scripture-modal .mfv-verse-reason {
    font-size: 13px;
    margin-bottom: 28px;
}
.mfv-scripture-modal__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
}
.mfv-scripture-attach-btn {
    padding: 11px 24px;
    border-radius: 9999px;
    border: none;
    background: linear-gradient(135deg, var(--mfl-primary, var(--mfv-primary, #0e7490)), var(--mfl-primary-light, #0891b2));
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-scripture-attach-btn:hover {
    box-shadow: 0 4px 12px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.3);
}
.mfv-scripture-skip-btn {
    padding: 11px 24px;
    border-radius: 9999px;
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    background: #fff;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    font-size: 14px;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-scripture-skip-btn:hover {
    background: var(--mfl-bg-cool, var(--mfv-slate-100, #f1f5f9));
}

/* --- Toast --- */
.mfv-toast {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #059669, #10b981);
    color: #fff;
    padding: 14px 28px;
    border-radius: var(--mfl-radius-lg, 16px);
    font-size: 14px;
    font-weight: 500;
    z-index: 100000;
    box-shadow: 0 8px 24px rgba(5, 150, 105, 0.3);
    animation: mfv-slide-up 0.25s ease-out;
    font-family: inherit;
}

/* --- Report Form --- */
.mfv-report-form {
    margin-top: 10px;
    padding: 14px;
    background: #fef2f2;
    border-radius: var(--mfl-radius-md, 10px);
    border: 1px solid #fecaca;
}
.mfv-report-form select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    border-radius: var(--mfl-radius-sm, 6px);
    font-size: 13px;
    margin-bottom: 8px;
    font-family: inherit;
}
.mfv-report-form button {
    padding: 7px 16px;
    border-radius: var(--mfl-radius-sm, 6px);
    border: none;
    background: #ef4444;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    font-family: inherit;
}
.mfv-report-form button:hover {
    background: #dc2626;
}

/* --- Skeleton Loading --- */
.mfv-skeleton-card {
    background: var(--mfl-bg-white, #fff);
    border-radius: var(--mfl-radius-lg, 16px);
    padding: 24px;
    margin-bottom: 16px;
    border: 1px solid var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9));
}
.mfv-skeleton-line {
    height: 14px;
    border-radius: 8px;
    background: linear-gradient(90deg, var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9)) 25%, var(--mfv-slate-200, #e2e8f0) 37%, var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9)) 63%);
    background-size: 400% 100%;
    animation: mfv-skeleton-shimmer 1.4s ease infinite;
}
.mfv-skeleton-line--title { width: 55%; height: 18px; margin-bottom: 14px; }
.mfv-skeleton-line--body  { width: 90%; margin-bottom: 8px; }
.mfv-skeleton-line--body2 { width: 72%; margin-bottom: 18px; }
.mfv-skeleton-line--meta  { width: 35%; height: 12px; }
.mfv-skeleton-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(90deg, var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9)) 25%, var(--mfv-slate-200, #e2e8f0) 37%, var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9)) 63%);
    background-size: 400% 100%;
    animation: mfv-skeleton-shimmer 1.4s ease infinite;
    margin-bottom: 14px;
}
@keyframes mfv-skeleton-shimmer {
    0%   { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* --- Empty / Loading States --- */
.mfv-prayer-empty {
    text-align: center;
    padding: 56px 20px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    font-size: 15px;
    background: var(--mfl-bg-white, #fff);
    border-radius: var(--mfl-radius-lg, 16px);
    border: 1px dashed var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
}
.mfv-prayer-loading {
    text-align: center;
    padding: 32px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
}

/* --- Login Prompt --- */
.mfv-login-prompt {
    text-align: center;
    padding: 28px;
    background: linear-gradient(135deg, rgba(14,116,144,0.04), rgba(14,116,144,0.08));
    border-radius: var(--mfl-radius-lg, 16px);
    margin: 16px 0;
}
.mfv-login-prompt a {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 24px;
    background: linear-gradient(135deg, var(--mfl-primary, var(--mfv-primary, #0e7490)), var(--mfl-primary-light, #0891b2));
    color: #fff;
    border-radius: 9999px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.15s;
}
.mfv-login-prompt a:hover {
    box-shadow: 0 4px 12px rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.3);
}

/* --- Pagination --- */
.mfv-prayer-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 28px 0;
}
.mfv-prayer-pagination button {
    padding: 9px 18px;
    border-radius: var(--mfl-radius-md, 10px);
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    background: var(--mfl-bg-white, #fff);
    color: var(--mfl-text-body, var(--mfv-slate-600, #475569));
    font-size: 13px;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
}
.mfv-prayer-pagination button:hover:not(:disabled) {
    border-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    background: rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.04);
}
.mfv-prayer-pagination button:disabled {
    opacity: .35;
    cursor: not-allowed;
}

/* --- Praying Hands Overlay --- */
.mfv-prayer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(var(--mfv-primary-rgb, 14, 116, 144), 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 100001;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: mfv-fade-in 0.3s ease-out;
}
.mfv-prayer-overlay--exit {
    animation: mfv-overlay-exit 0.4s ease-in forwards;
}
@keyframes mfv-overlay-exit {
    to { opacity: 0; transform: scale(1.05); }
}
.mfv-prayer-overlay__inner {
    text-align: center;
    color: #fff;
}
.mfv-praying-hands {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}
.mfv-praying-hands__emoji {
    font-size: 72px;
    animation: mfv-hands-pulse 1.2s ease-in-out infinite;
    filter: drop-shadow(0 0 20px rgba(255,255,255,0.3));
}
@keyframes mfv-hands-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}
.mfv-praying-hands__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(249,115,22,0.25) 0%, rgba(249,115,22,0.08) 40%, transparent 70%);
    animation: mfv-glow-breathe 1.8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes mfv-glow-breathe {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
    50% { transform: translate(-50%, -50%) scale(1.3); opacity: 1; }
}
.mfv-prayer-overlay__text {
    font-family: var(--mfl-font-heading, 'Poppins', sans-serif);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.02em;
    opacity: 0.95;
    margin-bottom: 14px;
}
.mfv-prayer-overlay__dots {
    display: flex;
    gap: 6px;
    justify-content: center;
}
.mfv-prayer-overlay__dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.6);
    animation: mfv-dot-bounce 1.4s ease-in-out infinite;
}
.mfv-prayer-overlay__dots span:nth-child(2) { animation-delay: 0.2s; }
.mfv-prayer-overlay__dots span:nth-child(3) { animation-delay: 0.4s; }
@keyframes mfv-dot-bounce {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
}

/* --- Enhanced Scripture Modal --- */
.mfv-scripture-modal__icon {
    font-size: 42px;
    margin-bottom: 8px;
    animation: mfv-book-appear 0.5s ease-out;
}
@keyframes mfv-book-appear {
    from { transform: scale(0.3) rotate(-15deg); opacity: 0; }
    to   { transform: scale(1) rotate(0deg); opacity: 1; }
}
.mfv-scripture-modal__label {
    font-family: var(--mfl-font-script, 'Caveat', cursive);
    font-size: 22px;
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    margin-bottom: 16px;
    opacity: 0;
    transition: opacity 0.5s ease 0.2s;
}
.mfv-scripture-modal--revealed .mfv-scripture-modal__label {
    opacity: 1;
}
.mfv-scripture-reveal__text {
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.5s ease 0.4s;
}
.mfv-scripture-modal--revealed .mfv-scripture-reveal__text {
    opacity: 1;
    transform: translateY(0);
}
.mfv-scripture-reveal__ref {
    opacity: 0;
    transition: opacity 0.4s ease 0.7s;
}
.mfv-scripture-modal--revealed .mfv-scripture-reveal__ref {
    opacity: 1;
}
.mfv-scripture-reveal__reason {
    opacity: 0;
    transition: opacity 0.4s ease 0.9s;
}
.mfv-scripture-modal--revealed .mfv-scripture-reveal__reason {
    opacity: 1;
}
.mfv-scripture-reveal__actions {
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.4s ease 1.1s;
}
.mfv-scripture-modal--revealed .mfv-scripture-reveal__actions {
    opacity: 1;
    transform: translateY(0);
}

/* --- View Toggle (Grid/List) --- */
.mfv-prayer-view-toggle {
    display: inline-flex;
    gap: 4px;
    margin-left: auto;
    background: var(--mfl-bg-cool, var(--mfv-slate-100, #f1f5f9));
    border-radius: var(--mfl-radius-md, 10px);
    padding: 3px;
}
.mfv-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    cursor: pointer;
    transition: all 0.15s ease;
}
.mfv-view-btn:hover {
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
}
.mfv-view-btn--active {
    background: #fff;
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.mfv-view-btn svg {
    width: 18px;
    height: 18px;
}

/* Aliases used by JS (mfv-prayer-view-btn vs mfv-view-btn) */
.mfv-prayer-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    cursor: pointer;
    transition: all 0.15s ease;
}
.mfv-prayer-view-btn:hover {
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
}
.mfv-prayer-view-btn--active {
    background: #fff;
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.mfv-prayer-view-btn svg {
    width: 18px;
    height: 18px;
}

/* --- Grid Layout (masonry via CSS columns) --- */
.mfv-prayer-list--grid {
    columns: 2;
    column-gap: 16px;
}
.mfv-prayer-list--grid .mfv-prayer-card {
    break-inside: avoid;
    margin-bottom: 16px;
}

/* Truncate card body and verse text in grid to keep cards compact */
.mfv-prayer-list--grid .mfv-prayer-card__body {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mfv-prayer-list--grid .mfv-verse-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- Infinite Scroll --- */
.mfv-prayer-sentinel {
    height: 1px;
    width: 100%;
}
.mfv-prayer-loading-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    font-size: 13px;
}
.mfv-spinner {
    width: 20px;
    height: 20px;
    border: 2.5px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    border-top-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    border-radius: 50%;
    animation: mfv-spin 0.7s linear infinite;
}
@keyframes mfv-spin {
    to { transform: rotate(360deg); }
}
.mfv-prayer-end {
    text-align: center;
    padding: 20px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    font-size: 13px;
    font-style: italic;
}

/* --- Praise Testimony Block --- */
.mfv-praise-testimony {
    margin: 12px 0;
    padding: 12px 16px;
    border-left: 3px solid #22c55e;
    background: linear-gradient(135deg, rgba(34,197,94,0.04), rgba(34,197,94,0.08));
    border-radius: 0 var(--mfl-radius-md, 10px) var(--mfl-radius-md, 10px) 0;
    font-size: 14px;
    font-style: italic;
    line-height: 1.65;
    color: var(--mfl-text-body, var(--mfv-slate-600, #475569));
}
.mfv-praise-testimony__label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #166534;
    font-style: normal;
    margin-bottom: 4px;
}

/* --- Praise Report Modal --- */
.mfv-praise-modal .mfv-modal {
    max-width: 480px;
}
.mfv-praise-modal h3 {
    color: #166534;
}
.mfv-praise-modal__icon {
    font-size: 42px;
    text-align: center;
    margin-bottom: 12px;
}
.mfv-praise-modal textarea {
    min-height: 120px;
}
.mfv-praise-modal__skip {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 10px;
    font-size: 13px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    transition: color 0.15s;
    font-family: inherit;
}
.mfv-praise-modal__skip:hover {
    color: var(--mfl-primary, var(--mfv-primary, #0e7490));
}

/* --- Notification Prefs Modal --- */
.mfv-prefs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.2);
    color: #fff;
    cursor: pointer;
    transition: all 0.15s;
    position: relative;
}
.mfv-prefs-btn:hover {
    background: rgba(255,255,255,0.35);
}
.mfv-prefs-btn svg {
    width: 18px;
    height: 18px;
}

/* Gear icon button rendered by JS inside hero — alias of .mfv-prefs-btn */
.mfv-prayer-prefs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.18);
    color: #fff;
    cursor: pointer;
    transition: background 0.15s, transform 0.25s;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    flex-shrink: 0;
}
.mfv-prayer-prefs-btn:hover {
    background: rgba(255,255,255,0.32);
    transform: rotate(30deg);
}
.mfv-prayer-prefs-btn svg {
    width: 18px;
    height: 18px;
}
.mfv-prefs-modal .mfv-modal {
    max-width: 560px;
}
.mfv-prefs-grid {
    margin: 16px 0 20px;
}
.mfv-prefs-section-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    padding: 14px 0 6px;
}
.mfv-prefs-grid__header {
    display: none; /* header not used in current JS layout */
}
.mfv-prefs-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9));
}
.mfv-prefs-row__label {
    font-size: 14px;
    font-weight: 500;
    color: var(--mfl-text-dark, var(--mfv-slate-800, #1e293b));
    flex: 1;
}
.mfv-prefs-row__toggles {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-shrink: 0;
}
.mfv-toggle-label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 500;
    color: var(--mfl-text-body, var(--mfv-slate-600, #475569));
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.mfv-toggle-label input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--mfl-primary, var(--mfv-primary, #0e7490));
    cursor: pointer;
}
.mfv-prefs-row__toggle {
    display: flex;
    justify-content: center;
}
.mfv-prefs-toggle {
    position: relative;
    width: 40px;
    height: 22px;
    border-radius: 11px;
    background: var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    padding: 0;
}
.mfv-prefs-toggle--on {
    background: var(--mfl-primary, var(--mfv-primary, #0e7490));
}
.mfv-prefs-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.mfv-prefs-toggle--on::after {
    transform: translateX(18px);
}
.mfv-prefs-email-freq,
.mfv-prefs-email-mode {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
}
.mfv-prefs-email-freq label,
.mfv-prefs-email-mode label {
    font-size: 14px;
    font-weight: 500;
    color: var(--mfl-text-dark, var(--mfv-slate-800, #1e293b));
    margin-bottom: 6px;
    display: block;
}
.mfv-prefs-email-freq select,
.mfv-prefs-email-mode select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    border-radius: var(--mfl-radius-md, 10px);
    font-size: 14px;
    font-family: inherit;
    background: var(--mfl-bg-white, #fff);
}
.mfv-prefs-msg {
    margin-top: 10px;
    font-size: 13px;
    color: #059669;
    font-weight: 500;
    text-align: center;
}

/* --- Own Prayer Static Count --- */
.mfv-pray-btn--own {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 9999px;
    border: 2px solid var(--mfl-border, var(--mfv-slate-200, #e2e8f0));
    background: var(--mfl-bg-cool, var(--mfv-slate-100, #f1f5f9));
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    font-size: 13px;
    font-weight: 500;
    cursor: default;
}

/* --- Filter Bar Row (Needs Prayer + Praise Reports + View Toggle) --- */
.mfv-prayer-filter-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.mfv-prayer-filter-bar .mfv-prayer-view-toggle {
    margin-left: auto;
}
.mfv-prayer-filter-bar .mfv-prayer-filters {
    margin-bottom: 0;
    flex: 1;
}

/* --- Character counter --- */
.mfv-char-counter {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    text-align: right;
    margin-top: 4px;
    margin-bottom: 10px;
    transition: color 0.15s;
}
.mfv-char-counter--warning {
    color: #d97706; /* amber */
    font-weight: 600;
}
.mfv-char-counter--danger {
    color: #dc2626; /* red */
    font-weight: 700;
}

/* --- Community guidelines note in post modal --- */
.mfv-modal__guidelines {
    font-size: 12px;
    color: var(--mfl-text-muted, var(--mfv-slate-400, #94a3b8));
    background: var(--mfv-slate-50, #f8fafc);
    border: 1px solid var(--mfv-slate-200, #e2e8f0);
    border-radius: 8px;
    padding: 8px 12px;
    margin: 0 0 12px;
    line-height: 1.5;
}

/* --- Responsive --- */
@media (max-width: 640px) {
    .mfv-prayer-wall-wrapper {
        margin-top: 16px;
        padding: 0 12px 32px;
    }
    .mfv-prayer-hero {
        min-height: 240px;
        border-radius: var(--mfl-radius-lg, 16px);
    }
    .mfv-prayer-hero__content {
        padding: 28px 20px 24px;
        min-height: 240px;
    }
    .mfv-prayer-hero__title {
        font-size: 22px;
    }
    .mfv-prayer-list--grid {
        columns: 1;
    }
    /* Stack list-view cards vertically on mobile */
    .mfv-prayer-card {
        flex-direction: column;
        gap: 0;
        padding: 14px 14px;
    }
    .mfv-prayer-card__aside {
        min-width: unset;
        width: 100%;
        flex-direction: row;
        align-items: center;
        padding-top: 0;
        margin-top: 10px;
        gap: 0;
    }
    .mfv-prayer-card__aside .mfv-prayer-card__footer {
        flex-direction: row !important;
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid var(--mfl-border-light, var(--mfv-slate-100, #f1f5f9)) !important;
        padding-top: 12px !important;
        margin-top: 0 !important;
        width: 100%;
        gap: 8px !important;
    }
    .mfv-prayer-card__aside .mfv-prayer-card__actions {
        flex-direction: row !important;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px !important;
    }
    .mfv-modal {
        margin: 12px;
        max-width: calc(100% - 24px);
        padding: 24px 20px;
        border-radius: var(--mfl-radius-lg, 16px);
    }
}
