/* Manifest Life Church — Phase 4 Public Frontend Mobile-First Layer
   Safe, additive public-site overrides loaded after the template/theme CSS.
   It improves frontend pages without changing CMS data, routes, or module logic. */

:root{
    --mlc-front-primary: var(--fd-primary, var(--fm-primary, var(--mlc-brand-blue, #2563eb)));
    --mlc-front-secondary: var(--fd-secondary, var(--fm-secondary, var(--mlc-brand-green, #10b981)));
    --mlc-front-accent: var(--fd-accent, var(--fm-accent, var(--mlc-brand-orange, #f97316)));
    --mlc-front-ink: #0f172a;
    --mlc-front-muted: #64748b;
    --mlc-front-soft: #f8fafc;
    --mlc-front-soft-2: #eef6ff;
    --mlc-front-border: rgba(15, 23, 42, .10);
    --mlc-front-shadow: 0 22px 70px rgba(15, 23, 42, .12);
    --mlc-front-shadow-soft: 0 14px 38px rgba(15, 23, 42, .08);
    --mlc-front-radius: 1.35rem;
    --mlc-front-radius-lg: 1.85rem;
    --mlc-front-page-pad: clamp(1rem, 4vw, 2rem);
    --mlc-front-safe-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
}

html,
body.mlc-area-frontend{
    max-width:100%;
    overflow-x:hidden;
}

body.mlc-area-frontend{
    background:
        radial-gradient(circle at 8% 6%, rgba(37, 99, 235, .08), transparent 28rem),
        radial-gradient(circle at 92% 4%, rgba(249, 115, 22, .07), transparent 26rem),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color:var(--mlc-front-ink);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.mlc-area-frontend *,
body.mlc-area-frontend *::before,
body.mlc-area-frontend *::after{
    box-sizing:border-box;
}

body.mlc-area-frontend img,
body.mlc-area-frontend picture,
body.mlc-area-frontend video,
body.mlc-area-frontend canvas,
body.mlc-area-frontend svg,
body.mlc-area-frontend iframe,
body.mlc-area-frontend embed,
body.mlc-area-frontend object{
    max-width:100%;
}

body.mlc-area-frontend img,
body.mlc-area-frontend video{
    height:auto;
}

body.mlc-area-frontend iframe,
body.mlc-area-frontend video,
body.mlc-area-frontend .ratio,
body.mlc-area-frontend .embed-responsive{
    border-radius:var(--mlc-front-radius);
}

body.mlc-area-frontend a,
body.mlc-area-frontend p,
body.mlc-area-frontend li,
body.mlc-area-frontend td,
body.mlc-area-frontend th,
body.mlc-area-frontend blockquote,
body.mlc-area-frontend .card,
body.mlc-area-frontend .alert{
    overflow-wrap:anywhere;
}

body.mlc-area-frontend .container,
body.mlc-area-frontend .container-sm,
body.mlc-area-frontend .container-md,
body.mlc-area-frontend .container-lg,
body.mlc-area-frontend .container-xl,
body.mlc-area-frontend .container-xxl{
    width:min(100% - 1rem, 1180px);
    max-width:1180px;
}

body.mlc-area-frontend .row{
    --bs-gutter-x: clamp(.9rem, 3vw, 1.5rem);
    --bs-gutter-y: clamp(.9rem, 3vw, 1.5rem);
}

/* Public template shells */
body.mlc-area-frontend .frontend-default-shell,
body.mlc-area-frontend .modern-shell,
body.mlc-area-frontend .emanu-page-shell{
    width:100%;
    max-width:100%;
    overflow-x:clip;
}

body.mlc-area-frontend .frontend-default-content-wrap,
body.mlc-area-frontend .modern-content-frame,
body.mlc-area-frontend .emanu-main-content{
    min-width:0;
    width:100%;
}

body.mlc-area-frontend .frontend-default-stage,
body.mlc-area-frontend .modern-shell main,
body.mlc-area-frontend .emanu-main-content{
    padding-bottom:var(--mlc-front-safe-bottom);
}

/* Header/menu polish without changing menu data */
body.mlc-area-frontend .frontend-default-topbar,
body.mlc-area-frontend .modern-topbar,
body.mlc-area-frontend .emanu-site-header{
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

body.mlc-area-frontend .frontend-default-topbar-inner,
body.mlc-area-frontend .modern-topbar-inner,
body.mlc-area-frontend .emanu-navbar .emanu-container{
    min-width:0;
}

body.mlc-area-frontend .frontend-default-brand,
body.mlc-area-frontend .modern-brand,
body.mlc-area-frontend .emanu-brand{
    min-width:0;
}

body.mlc-area-frontend .frontend-default-brand-title,
body.mlc-area-frontend .modern-brand-title,
body.mlc-area-frontend .emanu-brand strong{
    overflow:hidden;
    text-overflow:ellipsis;
}

body.mlc-area-frontend .frontend-icon-btn,
body.mlc-area-frontend .modern-icon-btn,
body.mlc-area-frontend .emanu-icon-btn,
body.mlc-area-frontend .emanu-donate-btn{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
}

body.mlc-area-frontend .frontend-default-offcanvas,
body.mlc-area-frontend .modern-offcanvas,
body.mlc-area-frontend .emanu-mobile-canvas{
    max-width:min(92vw, 430px);
    border:0;
    box-shadow:-24px 0 60px rgba(15,23,42,.18), 24px 0 60px rgba(15,23,42,.10);
}

body.mlc-area-frontend .offcanvas-body{
    overscroll-behavior:contain;
}

body.mlc-area-frontend .frontend-default-nav-link,
body.mlc-area-frontend .modern-nav-link,
body.mlc-area-frontend .emanu-mobile-link{
    min-height:46px;
    align-items:center;
}

/* Repeated frontend page intro / second hero card. Loaded late so the change is visible. */
body.mlc-area-frontend .mlc-public-page-shell{
    width:min(100% - 1rem, 1180px) !important;
    margin-inline:auto !important;
    gap:clamp(1rem, 3vw, 1.65rem) !important;
}

body.mlc-area-frontend .mlc-public-page-shell > .mlc-public-hero,
body.mlc-area-frontend .frontend-default-content-wrap .mlc-public-page-shell > .mlc-public-hero,
body.mlc-area-frontend .modern-content-frame .mlc-public-page-shell > .mlc-public-hero,
body.mlc-area-frontend .mlc-public-hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr;
    gap:.95rem;
    padding:clamp(.8rem, 3vw, 1.15rem) !important;
    border-radius:clamp(1.35rem, 4vw, 2.2rem) !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 13% 12%, rgba(255,255,255,.35), transparent 22%),
        radial-gradient(circle at 86% 10%, rgba(251,191,36,.28), transparent 25%),
        radial-gradient(circle at 88% 88%, rgba(45,212,191,.26), transparent 28%),
        linear-gradient(135deg, #08111f 0%, #1d4ed8 48%, #0f766e 100%) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 28px 80px rgba(2,6,23,.20) !important;
    isolation:isolate;
}

body.mlc-area-frontend .mlc-public-hero::before,
body.mlc-area-frontend .mlc-public-hero::after{
    content:"";
    position:absolute;
    pointer-events:none;
    z-index:0;
    border-radius:999px;
}

body.mlc-area-frontend .mlc-public-hero::before{
    width:18rem;
    height:18rem;
    top:-9rem;
    right:-7rem;
    background:radial-gradient(circle, rgba(255,255,255,.28), transparent 68%);
}

body.mlc-area-frontend .mlc-public-hero::after{
    width:14rem;
    height:14rem;
    left:-7rem;
    bottom:-7rem;
    background:radial-gradient(circle, rgba(251,191,36,.25), transparent 70%);
}

body.mlc-area-frontend .mlc-public-hero-copy,
body.mlc-area-frontend .mlc-public-hero-card{
    position:relative;
    z-index:1;
    min-width:0;
    border-radius:clamp(1.05rem, 3vw, 1.55rem) !important;
}

body.mlc-area-frontend .mlc-public-hero-copy{
    padding:clamp(1.2rem, 6vw, 2.6rem) !important;
    color:#0f172a !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.93)) !important;
    border:1px solid rgba(255,255,255,.74) !important;
    border-left:5px solid var(--mlc-front-accent) !important;
    box-shadow:0 18px 54px rgba(2,6,23,.14) !important;
}

body.mlc-area-frontend .mlc-public-eyebrow,
body.mlc-area-frontend .mlc-public-kicker,
body.mlc-area-frontend .cms-public-eyebrow{
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.58rem .78rem !important;
    margin:0 0 .85rem !important;
    border-radius:999px !important;
    color:#075985 !important;
    background:linear-gradient(135deg, rgba(219,234,254,.92), rgba(204,251,241,.88)) !important;
    border:1px solid rgba(14,165,233,.22) !important;
    box-shadow:0 10px 26px rgba(14,165,233,.10) !important;
    font-size:clamp(.64rem, 2.5vw, .8rem) !important;
    font-weight:900 !important;
    line-height:1.25 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase;
}

body.mlc-area-frontend .mlc-public-hero h1,
body.mlc-area-frontend .mlc-public-hero .h1{
    margin:0 0 .85rem !important;
    color:#08111f !important;
    font-size:clamp(1.95rem, 9vw, 3.95rem) !important;
    line-height:1.06 !important;
    font-weight:950 !important;
    letter-spacing:-.045em;
}

body.mlc-area-frontend .mlc-public-hero p{
    margin:0 !important;
    color:#334155 !important;
    opacity:1 !important;
    font-size:clamp(1rem, 3.3vw, 1.18rem) !important;
    line-height:1.72 !important;
    font-weight:500;
}

body.mlc-area-frontend .mlc-public-hero-actions,
body.mlc-area-frontend .events-hero-actions,
body.mlc-area-frontend .giving-hero-actions,
body.mlc-area-frontend .prayer-hero-actions,
body.mlc-area-frontend .partnership-hero-actions,
body.mlc-area-frontend .visitor-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.2rem;
}

body.mlc-area-frontend .mlc-public-hero-actions .btn,
body.mlc-area-frontend .events-hero-actions .btn,
body.mlc-area-frontend .giving-hero-actions .btn,
body.mlc-area-frontend .prayer-hero-actions .btn,
body.mlc-area-frontend .partnership-hero-actions .btn,
body.mlc-area-frontend .visitor-hero-actions .btn{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    border-radius:999px !important;
    font-weight:850;
    white-space:normal;
}

body.mlc-area-frontend .mlc-public-hero-card{
    padding:clamp(1rem, 4vw, 1.45rem) !important;
    color:#fff !important;
    background:linear-gradient(145deg, rgba(8,17,31,.86), rgba(30,64,175,.68)) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 18px 54px rgba(2,6,23,.18) !important;
}

/* Module hero sections */
body.mlc-area-frontend :is(.events-hero,.giving-hero,.media-hero,.gm-public-hero,.sm-public-hero,.outreach-hero,.partnership-hero,.prayer-hero,.visitor-hero,.learning-portal-hero,.workflow-public-hero,.pwa-hero,.pwa-campus-hero,.shop-hero){
    position:relative;
    overflow:hidden;
    padding:clamp(1.45rem, 7vw, 4rem) !important;
    border-radius:clamp(1.35rem, 4vw, 2.2rem) !important;
    box-shadow:var(--mlc-front-shadow) !important;
}

body.mlc-area-frontend :is(.events-hero,.giving-hero,.media-hero,.gm-public-hero,.sm-public-hero,.outreach-hero,.partnership-hero,.prayer-hero,.visitor-hero,.learning-portal-hero,.workflow-public-hero,.pwa-hero,.pwa-campus-hero,.shop-hero) h1{
    font-size:clamp(2rem, 9vw, 4.7rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em;
    max-width:960px;
}

body.mlc-area-frontend :is(.events-hero,.giving-hero,.media-hero,.gm-public-hero,.sm-public-hero,.outreach-hero,.partnership-hero,.prayer-hero,.visitor-hero,.learning-portal-hero,.workflow-public-hero,.pwa-hero,.pwa-campus-hero,.shop-hero) p{
    font-size:clamp(1rem, 3.8vw, 1.22rem) !important;
    line-height:1.7 !important;
    max-width:820px;
}

/* CMS sections and dynamic content */
body.mlc-area-frontend .cms-public-section{
    padding:clamp(2.75rem, 8vw, 6.5rem) var(--mlc-front-page-pad) !important;
    overflow:hidden;
}

body.mlc-area-frontend .cms-public-section-inner{
    width:min(1180px, 100%) !important;
    max-width:1180px;
}

body.mlc-area-frontend .cms-public-section-heading{
    max-width:820px;
    margin-inline:auto;
    text-align:center;
}

body.mlc-area-frontend .cms-public-title,
body.mlc-area-frontend .cms-public-section-heading h2,
body.mlc-area-frontend .cms-public-content h2{
    font-size:clamp(1.85rem, 7vw, 3.4rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.04em;
}

body.mlc-area-frontend .cms-public-content,
body.mlc-area-frontend .cms-public-content p,
body.mlc-area-frontend .cms-public-card p{
    font-size:clamp(.98rem, 2.9vw, 1.08rem);
    line-height:1.72;
}

body.mlc-area-frontend .cms-public-grid,
body.mlc-area-frontend .events-card-grid,
body.mlc-area-frontend .events-speaker-grid,
body.mlc-area-frontend .giving-card-grid,
body.mlc-area-frontend .giving-stat-grid,
body.mlc-area-frontend .media-reel-grid,
body.mlc-area-frontend .gm-meta-grid,
body.mlc-area-frontend .sm-meta-grid,
body.mlc-area-frontend .outreach-card-grid,
body.mlc-area-frontend .outreach-stat-grid,
body.mlc-area-frontend .partnership-arm-grid,
body.mlc-area-frontend .partnership-sponsor-grid,
body.mlc-area-frontend .partnership-stat-grid,
body.mlc-area-frontend .partnership-update-grid,
body.mlc-area-frontend .prayer-options-grid,
body.mlc-area-frontend .prayer-public-grid,
body.mlc-area-frontend .prayer-wall-grid,
body.mlc-area-frontend .visitor-public-grid,
body.mlc-area-frontend .visitor-entry-grid,
body.mlc-area-frontend .workflow-public-grid,
body.mlc-area-frontend .learning-portal-grid,
body.mlc-area-frontend .shop-grid,
body.mlc-area-frontend .modern-quick-grid,
body.mlc-area-frontend .frontend-default-quick-grid{
    display:grid;
    grid-template-columns:1fr !important;
    gap:clamp(.9rem, 3vw, 1.35rem) !important;
}

body.mlc-area-frontend :is(.cms-public-card,.cms-public-person,.events-card,.events-detail-card,.events-form-card,.events-panel,.events-mini-card,.events-speaker-card,.giving-card,.giving-form-card,.giving-panel,.giving-stat-card,.media-public-card,.media-filter-card,.media-form-card,.media-soft-card,.gm-record-card,.sm-record-card,.outreach-card,.outreach-public-card,.partnership-card,.partnership-form-card,.partnership-stat-card,.partnership-update-card,.prayer-info-card,.prayer-wall-card,.prayer-emergency-card,.visitor-public-card,.visitor-hero-stat-card,.workflow-public-card,.learning-portal-card,.pwa-card,.pwa-action-card,.pwa-glass-card,.shop-card,.shop-soft-card,.modern-quick-card,.frontend-default-quick-card,.mlc-public-content-card,.mlc-public-form-card,.mlc-public-branch-card){
    min-width:0;
    border-radius:var(--mlc-front-radius-lg) !important;
    box-shadow:var(--mlc-front-shadow-soft);
    overflow:hidden;
}

body.mlc-area-frontend :is(.cms-public-card,.cms-public-person,.events-card,.events-detail-card,.events-form-card,.events-panel,.events-mini-card,.events-speaker-card,.giving-card,.giving-form-card,.giving-panel,.giving-stat-card,.media-public-card,.media-filter-card,.media-form-card,.media-soft-card,.gm-record-card,.sm-record-card,.outreach-card,.outreach-public-card,.partnership-card,.partnership-form-card,.partnership-stat-card,.partnership-update-card,.prayer-info-card,.prayer-wall-card,.prayer-emergency-card,.visitor-public-card,.workflow-public-card,.learning-portal-card,.pwa-card,.pwa-action-card,.shop-card,.shop-soft-card,.mlc-public-content-card,.mlc-public-form-card,.mlc-public-branch-card){
    border:1px solid var(--mlc-front-border);
    background:#fff;
}

body.mlc-area-frontend .cms-public-card,
body.mlc-area-frontend .events-card,
body.mlc-area-frontend .giving-card,
body.mlc-area-frontend .media-public-card,
body.mlc-area-frontend .shop-card{
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

@media (hover:hover){
    body.mlc-area-frontend .cms-public-card:hover,
    body.mlc-area-frontend .events-card:hover,
    body.mlc-area-frontend .giving-card:hover,
    body.mlc-area-frontend .media-public-card:hover,
    body.mlc-area-frontend .shop-card:hover{
        transform:translateY(-3px);
        box-shadow:0 26px 70px rgba(15,23,42,.14);
        border-color:rgba(37,99,235,.20);
    }
}

/* Forms and filters */
body.mlc-area-frontend :is(form,.mlc-public-search-form,.events-filter-panel,.media-filter-card,.giving-form-card,.partnership-form-card,.prayer-form,.workflow-public-form){
    min-width:0;
}

body.mlc-area-frontend :is(.form-control,.form-select,.btn){
    min-height:44px;
}

body.mlc-area-frontend :is(.form-control,.form-select,textarea){
    border-radius:1rem;
}

body.mlc-area-frontend textarea.form-control{
    min-height:118px;
}

body.mlc-area-frontend :is(.form-label,.giving-label){
    font-weight:800;
    color:#334155;
    margin-bottom:.4rem;
}

body.mlc-area-frontend :is(input[type="file"].form-control){
    padding:.72rem;
    background:#fff;
}

body.mlc-area-frontend :is(.events-filter-panel,.media-filter-card,.mlc-public-search-form){
    border-radius:var(--mlc-front-radius-lg);
    border:1px solid var(--mlc-front-border);
    background:rgba(255,255,255,.94);
    box-shadow:var(--mlc-front-shadow-soft);
    padding:clamp(1rem, 3vw, 1.35rem);
}

body.mlc-area-frontend :is(.events-filter-panel,.media-hidden-panel,.events-hidden-panel):not(.show):not(.is-open)[hidden]{
    display:none !important;
}

body.mlc-area-frontend .mlc-frontend-filter-toggle{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
}

/* Tables and old content lists */
body.mlc-area-frontend table{
    width:100%;
    max-width:100%;
}

body.mlc-area-frontend .table-responsive{
    border-radius:var(--mlc-front-radius);
}

body.mlc-area-frontend .mlc-responsive-table td,
body.mlc-area-frontend .mlc-responsive-table th{
    vertical-align:middle;
}

/* Public event/media/giving specifics */
body.mlc-area-frontend .events-detail-card .row,
body.mlc-area-frontend .giving-form-card .row,
body.mlc-area-frontend .media-form-card .row{
    align-items:stretch;
}

body.mlc-area-frontend .events-detail-image,
body.mlc-area-frontend .media-thumb,
body.mlc-area-frontend .cms-public-image,
body.mlc-area-frontend .cms-public-picture,
body.mlc-area-frontend .shop-card-img{
    width:100%;
    object-fit:cover;
}

body.mlc-area-frontend .events-detail-image{
    min-height:240px;
    max-height:560px;
    border-radius:var(--mlc-front-radius-lg);
}

body.mlc-area-frontend .events-meta-grid,
body.mlc-area-frontend .giving-gateway-grid,
body.mlc-area-frontend .media-action-bar,
body.mlc-area-frontend .mlc-public-form-grid{
    display:grid;
    grid-template-columns:1fr !important;
    gap:.85rem !important;
}

body.mlc-area-frontend .events-meta-grid > *,
body.mlc-area-frontend .giving-gateway-card,
body.mlc-area-frontend .media-action-bar > *,
body.mlc-area-frontend .mlc-public-form-grid > *{
    min-width:0;
}

body.mlc-area-frontend .events-detail-actions,
body.mlc-area-frontend .media-action-bar,
body.mlc-area-frontend .mlc-public-form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
}

body.mlc-area-frontend .events-detail-actions .btn,
body.mlc-area-frontend .media-action-bar .btn,
body.mlc-area-frontend .mlc-public-form-actions .btn{
    flex:1 1 160px;
}

body.mlc-area-frontend .events-speaker-photo,
body.mlc-area-frontend .events-avatar{
    object-fit:cover;
}

body.mlc-area-frontend .giving-gateway-card{
    min-height:86px;
    touch-action:manipulation;
}

body.mlc-area-frontend .giving-gateway-card input[type="radio"]{
    width:1.1rem;
    height:1.1rem;
}

body.mlc-area-frontend .media-player-frame,
body.mlc-area-frontend .media-livestream-stage,
body.mlc-area-frontend .cms-public-video-wrap,
body.mlc-area-frontend .pwa-video-shell{
    overflow:hidden;
    border-radius:var(--mlc-front-radius-lg) !important;
    background:#020617;
}

/* FAQ/pricing/galleries generic handling */
body.mlc-area-frontend :is(.accordion,.faq-list,.cms-public-faq-list){
    display:grid;
    gap:.85rem;
}

body.mlc-area-frontend :is(.accordion-item,.cms-public-faq-item){
    border-radius:var(--mlc-front-radius) !important;
    overflow:hidden;
    border:1px solid var(--mlc-front-border) !important;
    box-shadow:var(--mlc-front-shadow-soft);
}

body.mlc-area-frontend :is(.pricing-table,.pricing-grid,.cms-public-pricing-grid){
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1rem !important;
    overflow:visible !important;
}

body.mlc-area-frontend :is(.pricing-table table,.cms-public-pricing-grid table){
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

body.mlc-area-frontend :is(.gallery,.cms-public-gallery,.cms-public-grid-gallery){
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.75rem;
}

/* Search/accessibility/modal/mobile overlays */
body.mlc-area-frontend .modal-dialog{
    margin:.75rem;
}

body.mlc-area-frontend .modal-content{
    border:0;
    border-radius:1.35rem;
    box-shadow:0 28px 90px rgba(15,23,42,.28);
    overflow:hidden;
}

body.mlc-area-frontend .modal-header,
body.mlc-area-frontend .modal-footer{
    background:#fff;
}

body.mlc-area-frontend .modal-body{
    max-height:min(70vh, 720px);
    overflow:auto;
}

body.mlc-area-frontend .mlc-mobile-footer-nav{
    z-index:1040;
}

body.mlc-area-frontend.mlc-has-public-mobile-footer .frontend-default-stage,
body.mlc-area-frontend.mlc-has-public-mobile-footer .modern-shell main,
body.mlc-area-frontend.mlc-has-public-mobile-footer .emanu-main-content,
body.mlc-area-frontend.mlc-has-public-mobile-footer main{
    padding-bottom:calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
}

/* Footer polish */
body.mlc-area-frontend :is(.frontend-default-footer,.modern-footer,.emanu-footer){
    overflow:hidden;
}

body.mlc-area-frontend :is(.frontend-default-footer-card,.modern-footer-card,.emanu-footer-rich,.emanu-newsletter-card){
    border-radius:var(--mlc-front-radius-lg);
}

body.mlc-area-frontend :is(.frontend-default-footer,.modern-footer,.emanu-footer) a{
    min-height:32px;
}

body.mlc-area-frontend .emanu-footer-contact a,
body.mlc-area-frontend .emanu-footer-contact span,
body.mlc-area-frontend .ve-public-footer-contact a,
body.mlc-area-frontend .ve-public-footer-contact span{
    display:inline-flex;
    align-items:flex-start;
    gap:.55rem;
    max-width:100%;
}

/* Small phones first */
@media (max-width: 575.98px){
    body.mlc-area-frontend{
        font-size:16px;
    }

    body.mlc-area-frontend .container,
    body.mlc-area-frontend .container-fluid{
        padding-left:.75rem;
        padding-right:.75rem;
    }

    body.mlc-area-frontend .frontend-default-topbar-inner,
    body.mlc-area-frontend .modern-topbar-inner,
    body.mlc-area-frontend .emanu-navbar .emanu-container{
        gap:.6rem;
    }

    body.mlc-area-frontend .frontend-default-brand-mark,
    body.mlc-area-frontend .modern-brand-mark,
    body.mlc-area-frontend .emanu-brand img{
        width:48px !important;
        height:48px !important;
        border-radius:14px !important;
    }

    body.mlc-area-frontend .frontend-default-brand-title,
    body.mlc-area-frontend .modern-brand-title,
    body.mlc-area-frontend .emanu-brand strong{
        max-width:54vw;
        font-size:.98rem !important;
        white-space:nowrap;
    }

    body.mlc-area-frontend .frontend-default-brand-meta,
    body.mlc-area-frontend .modern-brand-meta,
    body.mlc-area-frontend .emanu-brand small{
        display:none !important;
    }

    body.mlc-area-frontend .frontend-default-right,
    body.mlc-area-frontend .modern-header-actions,
    body.mlc-area-frontend .emanu-header-actions{
        gap:.45rem !important;
    }

    body.mlc-area-frontend .frontend-icon-btn,
    body.mlc-area-frontend .modern-icon-btn,
    body.mlc-area-frontend .emanu-icon-btn{
        width:42px !important;
        min-width:42px !important;
        height:42px !important;
    }

    body.mlc-area-frontend .mlc-public-hero-copy{
        padding:1.1rem !important;
        border-left-width:4px !important;
    }

    body.mlc-area-frontend .mlc-public-hero-card{
        padding:1rem !important;
    }

    body.mlc-area-frontend .mlc-public-hero-actions .btn,
    body.mlc-area-frontend .events-hero-actions .btn,
    body.mlc-area-frontend .giving-hero-actions .btn,
    body.mlc-area-frontend .prayer-hero-actions .btn,
    body.mlc-area-frontend .partnership-hero-actions .btn,
    body.mlc-area-frontend .visitor-hero-actions .btn{
        width:100%;
        flex:1 1 100%;
    }

    body.mlc-area-frontend :is(.events-shell,.giving-shell,.media-shell,.outreach-shell,.partnership-shell,.prayer-public-shell,.visitor-public-shell,.learning-portal-shell,.workflow-public-shell,.shop-shell,.pwa-shell){
        padding-top:1.35rem !important;
        padding-bottom:1.7rem !important;
    }

    body.mlc-area-frontend :is(.events-detail-actions,.media-action-bar,.mlc-public-form-actions) .btn{
        flex-basis:100%;
        width:100%;
    }

    body.mlc-area-frontend .modal-dialog{
        margin:0;
        min-height:100dvh;
        display:flex;
        align-items:stretch;
    }

    body.mlc-area-frontend .modal-content{
        width:100%;
        min-height:100dvh;
        border-radius:0;
    }

    body.mlc-area-frontend .modal-body{
        max-height:none;
        flex:1 1 auto;
    }

    body.mlc-area-frontend :is(.gallery,.cms-public-gallery,.cms-public-grid-gallery){
        grid-template-columns:1fr;
    }
}

@media (min-width: 576px){
    body.mlc-area-frontend .cms-public-grid,
    body.mlc-area-frontend .events-card-grid,
    body.mlc-area-frontend .events-speaker-grid,
    body.mlc-area-frontend .giving-card-grid,
    body.mlc-area-frontend .giving-stat-grid,
    body.mlc-area-frontend .media-reel-grid,
    body.mlc-area-frontend .outreach-card-grid,
    body.mlc-area-frontend .partnership-arm-grid,
    body.mlc-area-frontend .partnership-sponsor-grid,
    body.mlc-area-frontend .partnership-stat-grid,
    body.mlc-area-frontend .partnership-update-grid,
    body.mlc-area-frontend .prayer-options-grid,
    body.mlc-area-frontend .prayer-public-grid,
    body.mlc-area-frontend .prayer-wall-grid,
    body.mlc-area-frontend .visitor-public-grid,
    body.mlc-area-frontend .visitor-entry-grid,
    body.mlc-area-frontend .workflow-public-grid,
    body.mlc-area-frontend .learning-portal-grid,
    body.mlc-area-frontend .modern-quick-grid,
    body.mlc-area-frontend .frontend-default-quick-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    body.mlc-area-frontend .events-meta-grid,
    body.mlc-area-frontend .giving-gateway-grid,
    body.mlc-area-frontend .mlc-public-form-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 768px){
    body.mlc-area-frontend .mlc-public-page-shell{
        width:min(100% - 2rem, 1180px) !important;
    }

    body.mlc-area-frontend .mlc-public-page-shell > .mlc-public-hero,
    body.mlc-area-frontend .frontend-default-content-wrap .mlc-public-page-shell > .mlc-public-hero,
    body.mlc-area-frontend .modern-content-frame .mlc-public-page-shell > .mlc-public-hero,
    body.mlc-area-frontend .mlc-public-hero{
        grid-template-columns:minmax(0, 1.26fr) minmax(240px, .74fr);
        gap:clamp(1rem, 2vw, 1.4rem);
        padding:clamp(1rem, 2vw, 1.55rem) !important;
    }

    body.mlc-area-frontend .cms-public-grid,
    body.mlc-area-frontend .events-card-grid,
    body.mlc-area-frontend .media-reel-grid,
    body.mlc-area-frontend .shop-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }

    body.mlc-area-frontend .events-meta-grid,
    body.mlc-area-frontend .giving-gateway-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 992px){
    body.mlc-area-frontend .container,
    body.mlc-area-frontend .container-sm,
    body.mlc-area-frontend .container-md,
    body.mlc-area-frontend .container-lg,
    body.mlc-area-frontend .container-xl,
    body.mlc-area-frontend .container-xxl{
        width:min(100% - 2rem, 1180px);
    }

    body.mlc-area-frontend .cms-public-grid.cms-public-grid-4,
    body.mlc-area-frontend .giving-stat-grid,
    body.mlc-area-frontend .partnership-stat-grid,
    body.mlc-area-frontend .visitor-check-grid,
    body.mlc-area-frontend .pwa-action-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    }

    body.mlc-area-frontend .events-card-grid,
    body.mlc-area-frontend .media-reel-grid,
    body.mlc-area-frontend .shop-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }

    body.mlc-area-frontend .giving-gateway-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1200px){
    body.mlc-area-frontend .mlc-public-hero-copy{
        padding:clamp(2rem, 4vw, 3.25rem) !important;
    }

    body.mlc-area-frontend .mlc-public-page-shell > .mlc-public-hero,
    body.mlc-area-frontend .frontend-default-content-wrap .mlc-public-page-shell > .mlc-public-hero,
    body.mlc-area-frontend .modern-content-frame .mlc-public-page-shell > .mlc-public-hero,
    body.mlc-area-frontend .mlc-public-hero{
        grid-template-columns:minmax(0, 1.38fr) minmax(260px, .62fr);
    }
}

@media (prefers-reduced-motion: reduce){
    body.mlc-area-frontend *,
    body.mlc-area-frontend *::before,
    body.mlc-area-frontend *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
    }
}

body.mlc-area-frontend .mlc-frontend-media-frame{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:var(--mlc-front-radius-lg);
    background:#020617;
    box-shadow:var(--mlc-front-shadow-soft);
}

body.mlc-area-frontend .mlc-frontend-media-frame > iframe{
    width:100%;
    min-height:clamp(220px, 56vw, 520px);
    border:0;
    display:block;
}

@media (max-width: 767.98px){
    body.mlc-area-frontend .mlc-frontend-responsive-table .mlc-frontend-table-actions-cell{
        display:block !important;
        text-align:left !important;
    }

    body.mlc-area-frontend .mlc-frontend-responsive-table .mlc-frontend-table-actions-cell::before{
        display:block !important;
        max-width:100% !important;
        margin-bottom:.45rem;
    }

    body.mlc-area-frontend .mlc-frontend-responsive-table .mlc-frontend-table-actions-cell :is(.btn,button,a.btn){
        width:auto;
        margin:.2rem .2rem .2rem 0;
    }
}

/* Phase 5 frontend final QA cleanup: public pages consistency pass. */
body.mlc-area-frontend :where(.frontend-default-content-wrap, .modern-content-frame, .emanu-main-content, .mlc-public-page-shell, .container, .row, [class*="col-"], .card, .modal-content, .table-responsive) {
    min-width: 0;
}

body.mlc-area-frontend :where(.frontend-default-content-wrap, .modern-content-frame, .emanu-main-content, .mlc-public-page-shell) {
    overflow-x: clip;
}

body.mlc-area-frontend :where(.frontend-default-content-wrap img, .modern-content-frame img, .emanu-main-content img, .cms-public-content img) {
    height: auto;
}

body.mlc-area-frontend :where(.frontend-default-content-wrap .btn, .modern-content-frame .btn, .emanu-main-content .btn, .mlc-public-page-shell .btn) {
    min-width: 0;
    justify-content: center;
}

body.mlc-area-frontend .mlc-frontend-table-wrapper {
    width: 100%;
    max-width: 100%;
}

body.mlc-area-frontend :where(.cms-public-content, .mlc-public-page-body, .frontend-default-stage, .modern-shell main, .emanu-main-content) :where(ul, ol) {
    padding-left: 1.25rem;
}

body.mlc-area-frontend :where(.frontend-default-footer, .modern-footer, .emanu-footer, footer) {
    overflow: hidden;
}

body.mlc-area-frontend :where(.empty-state, .no-records, .no-results, .cms-public-empty, .events-empty) {
    border: 1px dashed rgba(148,163,184,.42);
    border-radius: var(--mlc-front-radius, 1.35rem);
    padding: clamp(1rem, 4vw, 1.5rem);
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.94));
    text-align: center;
}

body.mlc-area-frontend :where(.mlc-mobile-footer-nav, .mobile-footer-nav, .frontend-mobile-footer-nav) {
    max-width: calc(100vw - 1rem);
    left: .5rem;
    right: .5rem;
}

body.mlc-area-frontend.mlc-has-public-mobile-footer {
    padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 767.98px) {
    body.mlc-area-frontend :where(.frontend-default-content-wrap .row, .modern-content-frame .row, .emanu-main-content .row, .mlc-public-page-shell .row) {
        margin-left: 0;
        margin-right: 0;
    }

    body.mlc-area-frontend :where(.frontend-default-content-wrap .row > *, .modern-content-frame .row > *, .emanu-main-content .row > *, .mlc-public-page-shell .row > *) {
        padding-left: 0;
        padding-right: 0;
    }

    body.mlc-area-frontend :where(.frontend-default-content-wrap .card-footer, .modern-content-frame .card-footer, .emanu-main-content .card-footer, .mlc-public-page-shell .card-footer, .frontend-default-content-wrap [class*="actions"], .modern-content-frame [class*="actions"], .emanu-main-content [class*="actions"]) {
        flex-wrap: wrap;
        gap: .55rem;
    }

    body.mlc-area-frontend :where(.frontend-default-content-wrap .card-footer .btn, .modern-content-frame .card-footer .btn, .emanu-main-content .card-footer .btn, .mlc-public-page-shell .card-footer .btn, .frontend-default-content-wrap [class*="actions"] .btn, .modern-content-frame [class*="actions"] .btn, .emanu-main-content [class*="actions"] .btn) {
        flex: 1 1 auto;
    }

    body.mlc-area-frontend :where(.frontend-default-content-wrap .pagination, .modern-content-frame .pagination, .emanu-main-content .pagination) {
        flex-wrap: wrap;
        gap: .4rem;
    }

    body.mlc-area-frontend :where(.frontend-default-content-wrap .pagination .page-link, .modern-content-frame .pagination .page-link, .emanu-main-content .pagination .page-link) {
        border-radius: .75rem;
        min-height: 2.45rem;
        min-width: 2.45rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
