/* Volunteer / public-action partial only. */
body.public-home-layout .campaign-home-page .home-engagement-slot{width:100%!important;margin:0!important;padding:36px 0!important;background:#f4f7fb!important}
body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-grid{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(300px,1fr)!important;gap:24px!important;width:min(1812px,calc(100% - 48px))!important;max-width:none!important;margin:0 auto!important;padding:0!important}
body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-left,body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-right{min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.public-home-layout .campaign-home-page .vln-section{box-sizing:border-box;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:1px solid #f0e3d7!important;border-radius:16px!important;background:#fffdfa!important;box-shadow:0 5px 16px rgba(68,40,18,.06)!important;font-family:"Noto Sans Devanagari",Inter,sans-serif}
body.public-home-layout .campaign-home-page .vln-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;height:100%;padding:8px 10px 8px 18px}
body.public-home-layout .campaign-home-page .vln-actions{padding:5px 0}
body.public-home-layout .campaign-home-page .vln-actions h2{margin:0 0 13px;color:#172033;font-size:clamp(1.35rem,1.5vw,1.75rem);font-weight:850;line-height:1.25}
body.public-home-layout .campaign-home-page .vln-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body.public-home-layout .campaign-home-page .vln-action{display:flex;min-height:123px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 8px;border:1px solid #f0e4d9;border-radius:10px;color:#171d2c;background:#fff;box-shadow:0 3px 10px rgba(79,46,19,.055);font-family:"Noto Sans Devanagari",Inter,sans-serif;text-align:center;transition:border-color .2s ease,transform .2s ease}
body.public-home-layout .campaign-home-page .vln-action:hover,body.public-home-layout .campaign-home-page .vln-action.is-active{border-color:#f35a08;transform:translateY(-1px)}
body.public-home-layout .campaign-home-page .vln-action i{font-size:2rem;line-height:1}.vln-action i.is-orange{color:#f35a08}.vln-action i.is-green{color:#08713b}.vln-action i.is-mixed{color:#e95112}
body.public-home-layout .campaign-home-page .vln-action strong{font-size:.93rem;font-weight:850;line-height:1.25}body.public-home-layout .campaign-home-page .vln-action small{color:#626b78;font-size:.66rem;font-weight:650;line-height:1.3}
body.public-home-layout .campaign-home-page .vln-form-card{overflow:hidden;border:1px solid #193a59;border-radius:12px;color:#fff;background:linear-gradient(135deg,#061e38,#002943);box-shadow:0 5px 16px rgba(2,24,44,.16)}
body.public-home-layout .campaign-home-page .vln-form-card header{padding:12px 20px 7px;text-align:center}body.public-home-layout .campaign-home-page .vln-form-card header h2{margin:0;color:#fff;font-size:1.45rem;font-weight:850}body.public-home-layout .campaign-home-page .vln-form-card header p{margin:3px 0 0;color:#d4e0ea;font-size:.69rem;font-weight:650}
body.public-home-layout .campaign-home-page .vln-form{display:grid;gap:10px;padding:0 20px 14px}body.public-home-layout .campaign-home-page .vln-fields-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.public-home-layout .campaign-home-page .vln-form input,body.public-home-layout .campaign-home-page .vln-form select,body.public-home-layout .campaign-home-page .vln-form textarea{box-sizing:border-box;width:100%;height:45px;padding:10px 13px;border:1px solid #bac4cf;border-radius:6px;color:#263244;background:#fff;font:650 .78rem/1.2 "Noto Sans Devanagari",Inter,sans-serif;box-shadow:inset 0 1px 2px rgba(15,23,42,.05)}
body.public-home-layout .campaign-home-page .vln-form textarea{height:76px;resize:vertical}body.public-home-layout .campaign-home-page .vln-form input:focus,body.public-home-layout .campaign-home-page .vln-form select:focus,body.public-home-layout .campaign-home-page .vln-form textarea:focus{outline:0;border-color:#f35a08;box-shadow:0 0 0 3px rgba(243,90,8,.15)}
body.public-home-layout .campaign-home-page .vln-form button{display:flex;width:100%;height:45px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:5px;color:#fff;background:linear-gradient(90deg,#ef4d00,#ed6308);font-family:"Noto Sans Devanagari",Inter,sans-serif;font-size:1rem;font-weight:850;box-shadow:none}body.public-home-layout .campaign-home-page .vln-form button:hover{background:#d94700}
body.public-home-layout .campaign-home-page .vln-notice{margin:10px;padding:10px 14px;border-radius:7px;font-size:.75rem}.vln-notice.is-success{color:#08713b;background:#eaf8f0}.vln-notice.is-warning{color:#a43b0b;background:#fff0e7}
@media(max-width:1199.98px){body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-grid{grid-template-columns:1fr!important}body.public-home-layout .campaign-home-page .vln-layout{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){body.public-home-layout .campaign-home-page .home-engagement-slot{padding:18px 0!important}body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-grid{width:calc(100% - 24px)!important;gap:14px!important}body.public-home-layout .campaign-home-page .vln-layout{grid-template-columns:1fr;padding:16px}body.public-home-layout .campaign-home-page .vln-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body.public-home-layout .campaign-home-page .vln-action{min-height:112px}body.public-home-layout .campaign-home-page .vln-fields-two{grid-template-columns:1fr}}


/* ================================================================
   v4 - BOTTOM ENGAGEMENT RAIL + RHYTHM
   Same rail and 14px vertical spacing as Events/Members/People Say.
   ================================================================ */
body.public-home-layout .campaign-home-page .home-engagement-slot {
    width: 100% !important;
    margin: 14px 0 14px !important;
    padding: 0 !important;
    background: #eef3f7 !important;
}

body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-grid {
    width: var(--home-media-rail, min(1840px, calc(100% - 64px))) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(300px, 1fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
}

body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-left,
body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-right {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Both cards must have exactly the same row height. */
body.public-home-layout .campaign-home-page .home-engagement-slot .vln-section,
body.public-home-layout .campaign-home-page .home-engagement-slot .hpp-section {
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 1199.98px) {
    body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

@media (max-width: 767.98px) {
    body.public-home-layout .campaign-home-page .home-engagement-slot {
        margin: 12px 0 12px !important;
        padding: 0 !important;
    }

    body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-grid {
        width: var(--home-media-rail, calc(100% - 24px)) !important;
        gap: 12px !important;
    }
}


/* ================================================================
   v5 - REMOVE LARGE GAP BELOW ENGAGEMENT ROW
   The only allowed space before the footer is 14px.
   ================================================================ */
body.public-home-layout .campaign-home-page .home-engagement-slot {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 14px !important;
    margin-bottom: 14px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
}

body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-grid,
body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-left,
body.public-home-layout .campaign-home-page .home-engagement-slot .home-ref-engagement-right {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Prevent the page container itself from adding a large bottom spacer
   after the last Home partial. */
body.public-home-layout .campaign-home-page {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.public-home-layout .campaign-home-page > .home-engagement-slot:last-child,
body.public-home-layout .campaign-home-page > .managed-home-section:last-child {
    margin-bottom: 14px !important;
}
