@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Praise&display=swap");

/* ========================= Css Variables Start ======================== */

:root {
    /* Font Family */
    --heading-font: "Fraunces", sans-serif;
    --section-title-font: "Praise", cursive;
    --body-font: "Inter", sans-serif;
    --form-h: 100px;
    /* ========================= Theme Color Start ============================= */
    /* Base Color */
    --base-h: 136;
    --base-s: 89%;
    --base-l: 36%;
    --base: var(--base-h) var(--base-s) var(--base-l);
    --base-d-100: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.1);
    --base-d-200: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.2);
    --base-d-300: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.3);
    --base-d-400: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.4);
    --base-d-500: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.5);
    --base-d-600: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.6);
    --base-d-700: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.7);
    --base-d-800: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.8);
    --base-d-900: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.9);
    --base-d-1000: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 1);
    --base-l-100: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.1);
    --base-l-200: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.2);
    --base-l-300: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.3);
    --base-l-400: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.4);
    --base-l-500: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.5);
    --base-l-600: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.6);
    --base-l-700: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.7);
    --base-l-800: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.8);
    --base-l-900: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.9);
    --base-l-1000: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 1);
    /* Base Two Color */
    --base-two-h: 0;
    --base-two-s: 0%;
    --base-two-l: 13%;
    --base-two: var(--base-two-h) var(--base-two-s) var(--base-two-l);
    --base-two-d-100: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.1);
    --base-two-d-200: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.2);
    --base-two-d-300: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.3);
    --base-two-d-400: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.4);
    --base-two-d-500: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.5);
    --base-two-d-600: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.6);
    --base-two-d-700: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.7);
    --base-two-d-800: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.8);
    --base-two-d-900: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 0.9);
    --base-two-d-1000: var(--base-two-h) var(--base-two-s) calc(var(--base-two-l) - var(--base-two-l) * 1);
    --base-two-l-100: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.1);
    --base-two-l-200: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.2);
    --base-two-l-300: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.3);
    --base-two-l-400: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.4);
    --base-two-l-500: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.5);
    --base-two-l-600: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.6);
    --base-two-l-700: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.7);
    --base-two-l-800: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.8);
    --base-two-l-900: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 0.9);
    --base-two-l-1000: var(--base-two-h) calc(var(--base-two-s)) calc(var(--base-two-l) + (100% - var(--base-two-l)) * 1);
    /* ========================= Theme Color End ============================= */
    /* ========================= Color Variables Start =========================== */
    --white: 0 0% 100%;
    --black: 0 0% 0%;
    --dark: 204 7% 14%;
    --body-color: 0 0% 46%;
    --heading-color: var(--base-two);
    --border-color: var(--black) / 0.1;
    /* ================================ Box Shadow Start =============================== */
    --header-box-shadow: 0px -1px 15px 3px hsl(var(--black) / 0.3);
    --mobile-box-shadow: 0px -1px 5px 0px hsl(var(--black) / 0.92);
    --box-shadow: 0px 2px 15px hsl(var(--black) / 0.05);
    /* ================================ Box Shadow End =============================== */
    --form-disabled-color: hsl(var(--black) / 0.05);
    /* ============================== Bootstrap Modifier Start ============================== */
    /* Primary Color */
    --primary-h: 238;
    --primary-s: 100%;
    --primary-l: 40%;
    --primary: var(--primary-h) var(--primary-s) var(--primary-l);
    --primary-d-100: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.1);
    --primary-d-200: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.2);
    --primary-d-300: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.3);
    --primary-d-400: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.4);
    --primary-d-500: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.5);
    --primary-l-100: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.1);
    --primary-l-200: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.2);
    --primary-l-300: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.3);
    --primary-l-400: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.4);
    --primary-l-500: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.5);
    /* Secondary Color */
    --secondary-h: 208;
    --secondary-s: 7%;
    --secondary-l: 46%;
    --secondary: var(--secondary-h) var(--secondary-s) var(--secondary-l);
    --secondary-d-100: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.1);
    --secondary-d-200: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.2);
    --secondary-d-300: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.3);
    --secondary-d-400: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.4);
    --secondary-d-500: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.5);
    --secondary-l-100: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.1);
    --secondary-l-200: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.2);
    --secondary-l-300: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.3);
    --secondary-l-400: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.4);
    --secondary-l-500: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.5);
    /* Success Color */
    --success-h: 112;
    --success-s: 100%;
    --success-l: 40%;
    --success: var(--success-h) var(--success-s) var(--success-l);
    --success-d-100: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.1);
    --success-d-200: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.2);
    --success-d-300: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.3);
    --success-d-400: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.4);
    --success-d-500: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.5);
    --success-l-100: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.1);
    --success-l-200: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.2);
    --success-l-300: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.3);
    --success-l-400: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.4);
    --success-l-500: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.5);
    /* Danger Color */
    --danger-h: 0;
    --danger-s: 96%;
    --danger-l: 63%;
    --danger: var(--danger-h) var(--danger-s) var(--danger-l);
    --danger-d-100: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.1);
    --danger-d-200: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.2);
    --danger-d-300: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.3);
    --danger-d-400: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.4);
    --danger-d-500: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.5);
    --danger-l-100: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.1);
    --danger-l-200: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.2);
    --danger-l-300: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.3);
    --danger-l-400: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.4);
    --danger-l-500: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.5);
    /* Warning Color */
    --warning-h: 40;
    --warning-s: 100%;
    --warning-l: 46%;
    --warning: var(--warning-h) var(--warning-s) var(--warning-l);
    --warning-d-100: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.1);
    --warning-d-200: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.2);
    --warning-d-300: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.3);
    --warning-d-400: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.4);
    --warning-d-500: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.5);
    --warning-l-100: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.1);
    --warning-l-200: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.2);
    --warning-l-300: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.3);
    --warning-l-400: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.4);
    --warning-l-500: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.5);
    /* Info Color */
    --info-h: 196;
    --info-s: 100%;
    --info-l: 50%;
    --info: var(--info-h) var(--info-s) var(--info-l);
    --info-d-100: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.1);
    --info-d-200: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.2);
    --info-d-300: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.3);
    --info-d-400: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.4);
    --info-d-500: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.5);
    --info-l-100: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.1);
    --info-l-200: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.2);
    --info-l-300: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.3);
    --info-l-400: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.4);
    --info-l-500: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.5);
    /* ============================== Bootstrap Modifier End ============================== */
}

:focus-visible {
    outline: 0;
}

/* ========================= Css Variables End =========================== */
/* Fully Fit image Css */
.fit-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* ============================= Display Flex Css Start ============================= */
.flex-wrap,
.form--radio,
.form--check {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-align,
.action-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex-between {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/* ============================= Display Flex Css End ============================= */
/* ============================= Positioning Css Class Start ===================== */
.pa-extend,
.alert__link::before {
    position: absolute;
    content: "";
}

.top-center-extend {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.left-center-extend {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.top-left-center-extend {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* ============================= Positioning Css Class End ===================== */
/* ===================== Font Size For responsive devices Start =================== */
.fs-10 {
    font-size: 0.625rem;
}

.fs-11 {
    font-size: 0.6875rem;
}

.fs-12 {
    font-size: 0.75rem;
}

.fs-13 {
    font-size: 0.8125rem;
}

.fs-14 {
    font-size: 0.875rem;
}

.fs-15 {
    font-size: 0.9375rem;
}

.fs-16 {
    font-size: 1rem !important;
}

@media screen and (max-width: 1199px) {
    .fs-16 {
        font-size: 0.9375rem !important;
    }
}

.fs-17 {
    font-size: 1.0625rem;
}

@media screen and (max-width: 1199px) {
    .fs-17 {
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .fs-17 {
        font-size: 0.9375rem;
    }
}

.fs-18 {
    font-size: 1.125rem;
}

@media screen and (max-width: 1399px) {
    .fs-18 {
        font-size: 1.0625rem;
    }
}

@media screen and (max-width: 767px) {
    .fs-18 {
        font-size: 1rem;
    }
}

.fs-20 {
    font-size: 1.25rem;
}

@media screen and (max-width: 1399px) {
    .fs-20 {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 767px) {
    .fs-20 {
        font-size: 1.0625rem;
    }
}

/* ===================== Font Size For responsive devices End =================== */
/* ================================= Common Typography Css Start =========================== */
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    font-family: var(--body-font);
    color: hsl(var(--body-color));
    word-break: break-word;
    background-color: var(--background-color);
    min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

p {
    font-size: 1rem;
    font-weight: 400;
    margin: 0;
    color: hsl(var(--body-color));
}

span {
    display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 20px 0;
    font-family: var(--heading-font);
    color: hsl(var(--heading-color));
    line-height: 1.3;
    font-weight: 700;
}

@media screen and (max-width: 767px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin: 0 0 15px 0;
    }
}

h1 {
    font-size: 3.75rem;
}

@media screen and (max-width: 1399px) {
    h1 {
        font-size: 3.125rem;
    }
}

@media screen and (max-width: 1199px) {
    h1 {
        font-size: 2.8125rem;
    }
}

@media screen and (max-width: 991px) {
    h1 {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 767px) {
    h1 {
        font-size: 2.1875rem;
    }
}

@media screen and (max-width: 575px) {
    h1 {
        font-size: 1.875rem;
    }
}

h2 {
    font-size: 2.5rem;
}

@media screen and (max-width: 1399px) {
    h2 {
        font-size: 2.8125rem;
    }
}

@media screen and (max-width: 1199px) {
    h2 {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 991px) {
    h2 {
        font-size: 2.1875rem;
    }
}

@media screen and (max-width: 767px) {
    h2 {
        font-size: 1.875rem;
    }
}

@media screen and (max-width: 575px) {
    h2 {
        font-size: 1.5625rem;
    }
}

h3 {
    font-size: 1.875rem;
}

@media screen and (max-width: 1399px) {
    h3 {
        font-size: 1.75rem;
    }
}

@media screen and (max-width: 1199px) {
    h3 {
        font-size: 1.5625rem;
    }
}

@media screen and (max-width: 991px) {
    h3 {
        font-size: 1.4375rem;
    }
}

@media screen and (max-width: 767px) {
    h3 {
        font-size: 1.375rem;
    }
}

@media screen and (max-width: 575px) {
    h3 {
        font-size: 1.25rem;
    }
}

h4 {
    font-size: 1.5rem;
}

@media screen and (max-width: 1399px) {
    h4 {
        font-size: 1.3125rem;
    }
}

@media screen and (max-width: 1199px) {
    h4 {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 991px) {
    h4 {
        font-size: 1.1875rem;
    }
}

@media screen and (max-width: 767px) {
    h4 {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 575px) {
    h4 {
        font-size: 1.0625rem;
    }
}

h5 {
    font-size: 1.25rem;
}

@media screen and (max-width: 1399px) {
    h5 {
        font-size: 1.1875rem;
    }
}

@media screen and (max-width: 1199px) {
    h5 {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 991px) {
    h5 {
        font-size: 1.0625rem;
    }
}

@media screen and (max-width: 767px) {
    h5 {
        font-size: 1rem;
    }
}

@media screen and (max-width: 575px) {
    h5 {
        font-size: 1rem;
    }
}

h6 {
    font-size: 1rem;
}

@media screen and (max-width: 1399px) {
    h6 {
        font-size: 1rem;
    }
}

@media screen and (max-width: 1199px) {
    h6 {
        font-size: 0.9375rem;
    }
}

@media screen and (max-width: 991px) {
    h6 {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 767px) {
    h6 {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 575px) {
    h6 {
        font-size: 0.875rem;
    }
}

h1>a,
h2>a,
h3>a,
h4>a,
h5>a,
h6>a {
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
    line-height: inherit;
}

a {
    display: inline-block;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
    text-decoration: none;
    color: hsl(var(--heading-color));
}

a:hover {
    color: hsl(var(--base));
}

img {
    max-width: 100%;
    height: auto;
}

select {
    cursor: pointer;
}

ul,
ol {
    padding: 0;
    margin: 0;
    list-style: none;
}

button {
    border: 0;
    background-color: transparent;
}

button:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-select:focus {
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

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

/* ================================= Common Typography Css End =========================== */
/* ================================= Custom Classes Css Start =========================== */
/* Column Extra Small Screen */
@media screen and (min-width: 425px) and (max-width: 575px) {
    .col-xsm-6 {
        width: 50%;
    }
}

/* Section Background */
.section-bg {
    background-color: hsl(var(--base-l-900) / 0.4);
}

.section--bg {
    background-color: hsl(var(--black) / 0.025);
}

.text-muted {
    color: hsl(var(--black) / 0.6) !important;
}

/* Bg Image Css */
.bg-img {
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 100%;
}

/* Hide Scroll bar Css For Custom Modal */
.scroll-hide {
    position: absolute;
    overflow-y: hidden;
    padding-right: 17px;
    top: 0;
    left: 0;
    width: 100%;
}

@media screen and (max-width: 991px) {
    .scroll-hide {
        padding-right: 0;
    }
}

.scroll-hide-sm {
    position: absolute;
    overflow-y: hidden;
    top: 0;
    left: 0;
    width: calc(100% - 0px);
}

/* Overlay Start */
.body-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    content: "";
    left: 0;
    top: 0;
    background-color: hsl(var(--black) / 0.6);
    z-index: 99;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
    visibility: hidden;
    opacity: 0;
}

.body-overlay.show-overlay {
    visibility: visible;
    opacity: 1;
}

.gradient-text {
    background-image: -webkit-gradient(linear,
            left top,
            left bottom,
            from(hsl(var(--base-d-200))),
            to(hsl(var(--base))));
    background-image: linear-gradient(180deg,
            hsl(var(--base-d-200)) 0%,
            hsl(var(--base)) 100%);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.gradient-text::-moz-selection {
    color: hsl(var(--white));
    -webkit-text-fill-color: hsl(var(--white));
    background: transparent;
}

.gradient-text::selection {
    color: hsl(var(--white));
    -webkit-text-fill-color: hsl(var(--white));
    background: transparent;
}

.sidebar-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    content: "";
    left: 0;
    top: 0;
    background-color: hsl(var(--black) / 0.6);
    z-index: 99;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
    visibility: hidden;
    opacity: 0;
}

.sidebar-overlay.show {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}

/* Overlay End */
/* ================================= Custom Classes Css End =========================== */
/* ====================== Section Heading ==================== */
.section-heading {
    text-align: center;
    margin-bottom: 45px;
    max-width: 630px;
    margin-inline: auto;
}

@media screen and (max-width: 1199px) {
    .section-heading {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 991px) {
    .section-heading {
        margin-bottom: 25px;
    }
}

@media screen and (max-width: 767px) {
    .section-heading {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 424px) {
    .section-heading {
        margin-bottom: 15px;
    }
}

.section-heading__name {
    font-family: var(--section-title-font);
    color: hsl(var(--base));
    font-size: 1.5rem;
}

@media screen and (max-width: 991px) {
    .section-heading__name {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 767px) {
    .section-heading__name {
        font-size: 1.125rem;
    }
}

.section-heading__title {
    color: hsl(var(--base-two));
    font-size: 3rem;
    margin-bottom: 24px;
}

@media screen and (max-width: 1399px) {
    .section-heading__title {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 991px) {
    .section-heading__title {
        margin-bottom: 20px;
        font-size: 1.875rem;
    }
}

@media screen and (max-width: 575px) {
    .section-heading__title {
        font-size: 1.5625rem;
        margin-bottom: 10px;
    }
}

.section-heading__desc {
    max-width: 550px;
    margin-inline: auto;
    line-height: 1.5;
    font-weight: 500;
    font-size: clamp(1rem, 0.8862rem + 0.4854vw, 1.25rem);
}

.section-heading.style-left {
    text-align: left;
    margin-inline: 0;
}

.section-heading.style-left .section-heading__desc {
    margin-left: 0;
}

.section-heading.style-two {
    max-width: 500px;
}

main {
    background: var(--banner-shape, #f8f8f8);
    position: relative;
}

/* ====================== Section Heading En d==================== */
/* ================================= Background Color Css Start =========================== */
.bg--base {
    background-color: hsl(var(--base)) !important;
}

.bg--primary {
    background-color: hsl(var(--primary)) !important;
}

.bg--secondary {
    background-color: hsl(var(--secondary)) !important;
}

.bg--success {
    background-color: hsl(var(--success)) !important;
}

.bg--danger {
    background-color: hsl(var(--danger)) !important;
}

.bg--warning {
    background-color: hsl(var(--warning)) !important;
}

.bg--info {
    background-color: hsl(var(--info)) !important;
}

/* ================================= Background Color Css End =========================== */
/* ================================= Color Css Start =========================== */
.text--base {
    color: hsl(var(--base)) !important;
}

.text--primary {
    color: hsl(var(--primary)) !important;
}

.text--secondary {
    color: hsl(var(--secondary)) !important;
}

.text--success {
    color: hsl(var(--success)) !important;
}

.text--danger {
    color: hsl(var(--danger)) !important;
}

.text--warning {
    color: hsl(var(--warning)) !important;
}

.text--info {
    color: hsl(var(--info)) !important;
}

.text--dark {
    color: hsl(var(--dark)) !important;
}

/* ================================= Color Css End =========================== */
/* ================================= margin Css Start =========================== */
.my-120 {
    margin-block: 120px;
}

@media screen and (max-width: 991px) {
    .my-120 {
        margin-block: 80px;
    }
}

@media screen and (max-width: 575px) {
    .my-120 {
        margin-block: 60px;
    }
}

.mt-120 {
    margin-top: 120px;
}

@media screen and (max-width: 991px) {
    .mt-120 {
        margin-top: 80px;
    }
}

@media screen and (max-width: 575px) {
    .mt-120 {
        margin-top: 60px;
    }
}

.mb-120 {
    margin-bottom: 120px;
}

@media screen and (max-width: 991px) {
    .mb-120 {
        margin-bottom: 80px;
    }
}

@media screen and (max-width: 575px) {
    .mb-120 {
        margin-bottom: 60px;
    }
}

.my-60 {
    margin-block: 60px;
}

@media screen and (max-width: 991px) {
    .my-60 {
        margin-block: 40px;
    }
}

@media screen and (max-width: 575px) {
    .my-60 {
        margin-block: 30px;
    }
}

.mt-60 {
    margin-top: 60px;
}

@media screen and (max-width: 991px) {
    .mt-60 {
        margin-top: 40px;
    }
}

@media screen and (max-width: 575px) {
    .mt-60 {
        margin-top: 30px;
    }
}

.mb-60 {
    margin-bottom: 60px;
}

@media screen and (max-width: 991px) {
    .mb-60 {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 575px) {
    .mb-60 {
        margin-bottom: 30px;
    }
}

/* ================================= margin Css End =========================== */
/* ================================= padding Css Start =========================== */
.py-120 {
    padding-block: 120px;
}

@media screen and (max-width: 991px) {
    .py-120 {
        padding-block: 80px;
    }
}

@media screen and (max-width: 575px) {
    .py-120 {
        padding-block: 60px;
    }
}

.pt-120 {
    padding-top: 120px;
}

@media screen and (max-width: 991px) {
    .pt-120 {
        padding-top: 80px;
    }
}

@media screen and (max-width: 575px) {
    .pt-120 {
        padding-top: 60px;
    }
}

.pb-120 {
    padding-bottom: 120px;
}

@media screen and (max-width: 991px) {
    .pb-120 {
        padding-bottom: 80px;
    }
}

@media screen and (max-width: 575px) {
    .pb-120 {
        padding-bottom: 60px;
    }
}

.py-60 {
    padding-block: 60px;
}

@media screen and (max-width: 991px) {
    .py-60 {
        padding-block: 40px;
    }
}

@media screen and (max-width: 575px) {
    .py-60 {
        padding-block: 30px;
    }
}

.pt-60 {
    padding-top: 60px;
}

@media screen and (max-width: 991px) {
    .pt-60 {
        padding-top: 40px;
    }
}

@media screen and (max-width: 575px) {
    .pt-60 {
        padding-top: 30px;
    }
}

.pb-60 {
    padding-bottom: 60px;
}

@media screen and (max-width: 991px) {
    .pb-60 {
        padding-bottom: 40px;
    }
}

@media screen and (max-width: 575px) {
    .pb-60 {
        padding-bottom: 30px;
    }
}

/* ================================= padding Css End =========================== */
/* ================================= Border Color Css Start =========================== */
.border--base {
    border-color: hsl(var(--base)) !important;
}

.border--primary {
    border-color: hsl(var(--primary)) !important;
}

.border--secondary {
    border-color: hsl(var(--secondary)) !important;
}

.border--success {
    border-color: hsl(var(--success)) !important;
}

.border--danger {
    border-color: hsl(var(--danger)) !important;
}

.border--warning {
    border-color: hsl(var(--warning)) !important;
}

.border--info {
    border-color: hsl(var(--info)) !important;
}

/* ================================= Border Color Css End =========================== */
/* ======================  Utility Start  ======================*/
.hand-love-icon {
    position: relative;
    display: inline;
    padding-top: 10px;
    font-size: 14px;
}

.hand-love-icon .icon-hand {
    color: hsl(var(--hand-color, var(--black)));
}

.hand-love-icon .icon-love {
    position: absolute;
    left: 9px;
    top: -2px;
    font-size: 12px;
    color: hsl(var(--love-color, var(--base)));
}

.hand-love-icon.style-two .icon-hand {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    margin-left: 2px;
}

/* ======================  Utility End  ======================*/
/* =========================== Accordion Css start ============================= */
.custom--accordion {
    border: 0px;
}

.custom--accordion .accordion-item {
    background-color: transparent !important;
    border: 0;
    padding-block: 28px;
    border-bottom: 1px solid hsl(var(--border-color));
}

@media screen and (max-width: 767px) {
    .custom--accordion .accordion-item {
        padding-block: 15px;
    }
}

.custom--accordion .accordion-item:first-child {
    padding-top: 0;
}

.custom--accordion .accordion-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.custom--accordion .accordion-button {
    font-size: 18px;
    font-weight: 600;
    background-color: transparent;
    font-family: var(--body-font);
    color: hsl(var(--black));
    padding-block: 0;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    padding-inline: 0px;
}

.custom--accordion .accordion-button::after {
    background-image: none;
}

.custom--accordion .accordion-button:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.custom--accordion .accordion-button[aria-expanded="true"]::after,
.custom--accordion .accordion-button[aria-expanded="false"]::after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: " \f068";
    display: inline-block;
    position: absolute;
    right: 15px;
    font-size: 20px;
    height: unset;
}

.custom--accordion .accordion-button[aria-expanded="false"]::after {
    content: "+";
    color: hsl(var(--body-color));
}

.custom--accordion .accordion-body {
    padding-block: 20px;
    padding-inline: 0px;
}

.custom--accordion.style-two .accordion-item {
    background-color: hsl(var(--white)) !important;
    padding: 0;
    border: 1px solid hsl(var(--border-color)) !important;
    margin-bottom: 12px;
    border-radius: 8px !important;
}

.custom--accordion.style-two .accordion-button {
    padding: 20px;
}

.custom--accordion.style-two .accordion-body {
    padding: 20px;
    padding-top: 0;
}

@media screen and (max-width: 575px) {
    .custom--accordion.style-two .accordion-button {
        padding: 15px;
        font-size: 16px;
    }
}

/* ================================= Accordion Css End =========================== */
/* ================================= Button Css Start =========================== */
.btn {
    color: hsl(var(--white)) !important;
    font-weight: 600;
    padding: 15px 24px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-family: var(--body-font);
    display: inline-block !important;
    font-size: 1.125rem;
    line-height: 1;
}

@media screen and (max-width: 575px) {
    .btn {
        padding: 14px 20px;
        font-size: 0.875rem;
    }
}

.btn:hover,
.btn:focus,
.btn:focus-visible {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.btn:active {
    top: 1px;
}

.btn--lg {
    padding: 20px 35px;
}

@media screen and (max-width: 991px) {
    .btn--lg {
        padding: 18px 30px;
    }
}

@media screen and (max-width: 767px) {
    .btn--lg {
        padding: 16px 25px;
    }
}

.btn--sm {
    padding: 14px 18px;
    font-weight: 600;
    font-size: 1rem;
}

.btn--icon {
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 0.9375rem;
    padding: 0;
}

.btn .btn--icon {
    height: auto;
    line-height: 1;
}

.btn--base {
    background-color: hsl(var(--base)) !important;
}

.btn--base:hover,
.btn--base:focus .btn--base:focus-visible {
    background-color: hsl(var(--base-d-200)) !important;
    border: 1px solid hsl(var(--base-d-200)) !important;
}

.btn-outline--base {
    background-color: transparent !important;
    border: 1px solid hsl(var(--base)) !important;
    color: hsl(var(--base)) !important;
}

.btn-outline--base:hover,
.btn-outline--base:focus .btn-outline--base:focus-visible {
    background-color: hsl(var(--base)) !important;
    color: hsl(var(--white)) !important;
}

.btn--primary {
    background-color: hsl(var(--primary)) !important;
}

.btn--primary:hover,
.btn--primary:focus .btn--primary:focus-visible {
    background-color: hsl(var(--primary-d-200)) !important;
    border: 1px solid hsl(var(--primary-d-200)) !important;
}

.btn-outline--primary {
    background-color: transparent !important;
    border: 1px solid hsl(var(--primary)) !important;
    color: hsl(var(--primary)) !important;
}

.btn-outline--primary:hover,
.btn-outline--primary:focus .btn-outline--primary:focus-visible {
    background-color: hsl(var(--primary)) !important;
    color: hsl(var(--white)) !important;
}

.btn--secondary {
    background-color: hsl(var(--secondary)) !important;
}

.btn--secondary:hover,
.btn--secondary:focus .btn--secondary:focus-visible {
    background-color: hsl(var(--secondary-d-200)) !important;
    border: 1px solid hsl(var(--secondary-d-200)) !important;
}

.btn-outline--secondary {
    background-color: transparent !important;
    border: 1px solid hsl(var(--secondary)) !important;
    color: hsl(var(--secondary)) !important;
}

.btn-outline--secondary:hover,
.btn-outline--secondary:focus .btn-outline--secondary:focus-visible {
    background-color: hsl(var(--secondary)) !important;
    color: hsl(var(--white)) !important;
}

.btn--danger {
    background-color: hsl(var(--danger)) !important;
}

.btn--danger:hover,
.btn--danger:focus .btn--danger:focus-visible {
    background-color: hsl(var(--danger-d-200)) !important;
    border: 1px solid hsl(var(--danger-d-200)) !important;
}

.btn-outline--danger {
    background-color: transparent !important;
    border: 1px solid hsl(var(--danger)) !important;
    color: hsl(var(--danger)) !important;
}

.btn-outline--danger:hover,
.btn-outline--danger:focus .btn-outline--danger:focus-visible {
    background-color: hsl(var(--danger)) !important;
    color: hsl(var(--white)) !important;
}

.btn--warning {
    background-color: hsl(var(--warning)) !important;
}

.btn--warning:hover,
.btn--warning:focus .btn--warning:focus-visible {
    background-color: hsl(var(--warning-d-200)) !important;
    border: 1px solid hsl(var(--warning-d-200)) !important;
}

.btn-outline--warning {
    background-color: transparent !important;
    border: 1px solid hsl(var(--warning)) !important;
    color: hsl(var(--warning)) !important;
}

.btn-outline--warning:hover,
.btn-outline--warning:focus .btn-outline--warning:focus-visible {
    background-color: hsl(var(--warning)) !important;
    color: hsl(var(--white)) !important;
}

.btn--info {
    background-color: hsl(var(--info)) !important;
}

.btn--info:hover,
.btn--info:focus .btn--info:focus-visible {
    background-color: hsl(var(--info-d-200)) !important;
    border: 1px solid hsl(var(--info-d-200)) !important;
}

.btn-outline--info {
    background-color: transparent !important;
    border: 1px solid hsl(var(--info)) !important;
    color: hsl(var(--info)) !important;
}

.btn-outline--info:hover,
.btn-outline--info:focus .btn-outline--info:focus-visible {
    background-color: hsl(var(--info)) !important;
    color: hsl(var(--white)) !important;
}

.btn.btn-outline--white {
    background-color: transparent !important;
    border: 1px solid hsl(var(--white)) !important;
    color: hsl(var(--white)) !important;
}

.btn.btn-outline--white:hover,
.btn.btn-outline--white:focus .btn-outline--white:focus-visible {
    background-color: hsl(var(--white) / 0.2) !important;
}

.pill {
    border-radius: 40px !important;
}

/* ================================= Button Css End =========================== */
/* ================================= Card Css Start =========================== */
.custom--card {
    --radius: 25px;
    width: 100%;
    border-radius: var(--radius);
    border-color: transparent;
    -webkit-box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
}

.custom--card .card-header {
    padding: 12px 24px;
    background-color: transparent;
    border-bottom: 1px solid hsl(var(--black) / 0.1);
}

.custom--card .card-thumb img {
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
    width: 100%;
}

.custom--card .card-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 5px;
}

@media screen and (max-width: 424px) {
    .custom--card .card-title {
        font-size: 1.125rem;
    }
}

.custom--card .card-body {
    background-color: hsl(var(--white));
    padding: 25px;
    border-radius: var(--radius);
    position: relative;
}

.card-style-two.custom--card .card-body {
    top: calc(var(--radius)* -1);
    margin-bottom: calc(var(--radius)* -1);
}

@media screen and (max-width: 424px) {
    .custom--card .card-body {
        padding: 15px;
    }
}

@media screen and (max-width: 374px) {
    .custom--card .card-body {
        padding: 10px;
    }
}

.custom--card .card-footer {
    margin-top: 24px;
    border-top: 1px solid hsl(var(--border-color));
    padding-top: 24px;
    gap: 10px;
    background-color: transparent;
}

/* ================================= Card Css End =========================== */
/* ================================= Form Css Start =========================== */
/* Form Label */
.form--label {
    margin-bottom: 6px;
    font-size: 0.9375rem;
    color: hsl(var(--black) / 0.6);
    font-weight: 500;
}

.form-group {
    margin-bottom: 1rem;
}

/* Form Select */
.form-select {
    color: hsl(var(--black) / 0.6) !important;
    height: 50px;
    border-radius: 8px;
    border: 1px solid hsl(var(--border-color));
}

@media screen and (max-width: 575px) {
    .form-select {
        height: 44px;
    }
}

.form-select:focus {
    border-color: hsl(var(--base));
}

.form-select:focus {
    border-color: hsl(var(--base));
    color: hsl(var(--black)) !important;
}

.form-select option {
    background-color: hsl(var(--white));
    color: hsl(var(--black)) !important;
}

/* Form Select End */
/* Form Control Start */
.form--control {
    border-radius: 8px;
    font-weight: 400;
    outline: none;
    width: 100%;
    padding: 14px 24px;
    background-color: transparent;
    border: 1px solid hsl(var(--black) / 0.2);
    color: hsl(var(--black));
    line-height: 1;
}

@media screen and (max-width: 575px) {
    .form--control {
        padding: 12px 20px;
    }
}

.form--control::-webkit-input-placeholder {
    color: hsl(var(--black) / 0.6);
    font-size: 0.875rem;
}

.form--control::-moz-placeholder {
    color: hsl(var(--black) / 0.6);
    font-size: 0.875rem;
}

.form--control:-ms-input-placeholder {
    color: hsl(var(--black) / 0.6);
    font-size: 0.875rem;
}

.form--control::-ms-input-placeholder {
    color: hsl(var(--black) / 0.6);
    font-size: 0.875rem;
}

.form--control::placeholder,
.select2-selection__placeholder {
    color: hsl(var(--black) / 0.6) !important;
    font-size: 0.875rem;
}

.form-control:focus,
.form--control:focus {
    border-color: hsl(var(--base));
}

.form--control:disabled,
.form--control[readonly] {
    background-color: var(--form-disabled-color);
    opacity: 1;
    border: 0;
    color: hsl(var(--black) / 0.5);
}

.form--control:has(+.password-show-hide) {
    padding-right: 45px;
}

.form--control[type="password"] {
    color: hsl(var(--black) / 0.5);
}

.form--control[type="password"]:focus {
    color: hsl(var(--black));
}

.form--control[type="file"] {
    line-height: 46px;
    padding: 0 !important;
    position: relative;
}

.form--group .form--control[type="file"] {
    line-height: 1;
}

.form--control[type="file"]::-webkit-file-upload-button {
    border: 1px solid hsl(var(--black) / 0.08);
    padding: 9px 6px;
    border-radius: 6px;
    background-color: hsl(var(--base)) !important;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
    line-height: 16px;
    position: relative;
    margin: 4px 6px;
    color: hsl(var(--white)) !important;
}

.form--control[type="file"]::file-selector-button {
    border: 1px solid hsl(var(--black) / 0.08);
    padding: 9px 6px;
    border-radius: 6px;
    background-color: hsl(var(--base)) !important;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
    line-height: 16px;
    position: relative;
    margin: 4px 6px;
    color: hsl(var(--white)) !important;
}

.form--control[type="file"]::-webkit-file-upload-button:hover {
    background-color: hsl(var(--base));
    border: 1px solid hsl(var(--base));
    color: hsl(var(--black));
}

.form--control[type="file"]::file-selector-button:hover {
    background-color: hsl(var(--base));
    border: 1px solid hsl(var(--base));
    color: hsl(var(--black));
}

/* Form Control End */
textarea.form--control {
    height: 130px;
}

textarea.form--control:disabled,
textarea.form--control[readonly] {
    resize: none;
}

/* Autofill Css */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    -webkit-text-fill-color: hsl(var(--black)) !important;
    caret-color: hsl(var(--black));
}

/* Autofill Css End */
/* input group */
/* Show Hide Password */
input#your-password,
input#confirm-password {
    padding-right: 50px;
}

.password-show-hide {
    position: absolute;
    right: 20px;
    z-index: 5;
    cursor: pointer;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: hsl(var(--black) / 0.4);
}

/* --------------- Number Arrow None --------------------- */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Custom Checkbox Design */
.form--check a {
    display: inline;
}

.form--check .form-check-input {
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
    box-shadow: none !important;
    border: 0;
    position: relative;
    border-radius: 0px;
    width: 16px;
    height: 16px;
    border: 1px solid hsl(var(--black) / 0.2);
    cursor: pointer;
}

.form--check .form-check-input:checked {
    background-color: hsl(var(--base)) !important;
    border-color: hsl(var(--base)) !important;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form--check .form-check-input:checked[type="checkbox"] {
    background-image: none;
}

.form--check .form-check-input:checked::before {
    position: absolute;
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: hsl(var(--white));
    font-size: 0.6875rem;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.form--check .form-check-label {
    font-weight: 600;
    width: calc(100% - 16px);
    padding-left: 12px;
    cursor: pointer;
    font-size: 0.875rem;
}

@media screen and (max-width: 424px) {
    .form--check label {
        font-size: 0.9375rem;
    }
}

@media screen and (max-width: 424px) {
    .form--check a {
        font-size: 0.9375rem;
    }
}

/* Custom Radio Design */
.form--radio .form-check-input {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1px solid hsl(var(--black) / 0.2);
    position: relative;
    background-color: transparent;
    cursor: pointer;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.form--radio .form-check-input:active {
    -webkit-filter: brightness(100%);
    filter: brightness(100%);
}

.form--radio .form-check-input:checked {
    background-color: transparent;
    border-color: hsl(var(--base));
}

.form--radio .form-check-input:checked[type="radio"] {
    background-image: none;
}

.form--radio .form-check-input:checked::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: hsl(var(--base));
    border-radius: 50%;
}

.form--radio .form-check-label {
    font-weight: 600;
    width: calc(100% - 16px);
    padding-left: 12px;
    cursor: pointer;
    font-size: 0.875rem;
}

/*  Custom Switch Design */
.form--switch .form-check-input {
    border-radius: 3px;
    background-image: none;
    position: relative;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
    background-color: hsl(var(--black) / 0.2) !important;
    padding: 10px !important;
    margin-left: 0;
    margin-bottom: 5px;
    border-radius: 40px;
    width: 70px;
    height: 38px;
    cursor: pointer;
}

.form--switch .form-check-input:focus {
    border-radius: 40px;
    background-image: none;
    position: relative;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
}

.form--switch .form-check-input::before {
    position: absolute;
    content: "";
    width: 28px;
    height: 28px;
    background-color: hsl(var(--white));
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 2px;
    left: 5px;
    border-radius: 50%;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
}

.form--switch .form-check-input:checked {
    background-color: hsl(var(--base)) !important;
}

.form--switch .form-check-input:checked::before {
    left: calc(100% - 33px);
    background-color: hsl(var(--white)) !important;
}

.form--switch .form-check-input:checked[type="checkbox"] {
    background-image: none;
}

.form--switch .form-check-label {
    width: calc(100% - 14px);
    padding-left: 5px;
    cursor: pointer;
}

/*  Custom Switch End Design */
/* ================================= Form Css End =========================== */
/* --======================Custom Input group Start ======================*/
.input--group {
    border-radius: 5px;
    border: 0;
    border: 1px solid hsl(var(--border-color));
    border-radius: 8px;
    padding: 2px;
}

.input--group:has(.input-group-text) {
    padding: 0;
}

.input--group.form--control[type="file"] {
    padding: 0;
}

.input--group:has(:disabled) {
    background-color: var(--form-disabled-color);
}

.input--group .form--control {
    padding-right: 5px;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    padding-block: 10px;
    border-color: transparent !important;
}

@media screen and (max-width: 575px) {
    .input--group .form--control {
        padding: 12px 20px;
    }
}

.input--group .form--control:disabled {
    background-color: transparent;
}

.input--group .input-group-text+.form--control {
    padding-right: 20px;
    padding-left: 10px;
}

.input--group .input-group-text {
    border-width: 0px;
    background-color: hsl(var(--black) / 0.1);
    color: hsl(var(--body-color));
    border-radius: inherit !important;
    min-height: 40px;
    min-width: 40px;
    justify-content: center;
}

@media screen and (max-width: 575px) {
    .input--group .input-group-text {
        font-size: 14px;
        padding-block: 4px !important;
    }
}

.input--group-text {
    margin-left: 5px;
}

.input--group .form--control[readonly] {
    background: hsl(var(--black) / 0.07) !important;
}

.input--group .form--control[readonly]:focus {
    border-color: hsl(var(--black) / 0.07);
}

.input--group:has(.form--control[readonly]) {
    background: hsl(var(--black) / 0.07) !important;
}

.input--group .form--control[readonly] {
    background: transparent !important;
}

.input--group:has(.form--control[readonly]):focus-within {
    border-color: hsl(var(--black) / 0.07) !important;
}

.input-group {
    border: 1px solid hsl(var(--border-color));
    border-radius: 8px;
}

.input-group:focus-within {
    border-color: hsl(var(--base));
}

.input-group .form--control {
    border: 1px solid transparent;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    padding-left: 10px;
    padding-block: 11px;
}

.input--group .form--control[type="file"] {
    padding-left: 0;
    line-height: 1;
}

.input-group .input-group-text {
    border: 1px solid transparent;
    border-radius: 8px !important;
    line-height: 1;
    margin: 4px;
    background-color: #f8f8f8;
    color: hsl(var(--body-color));
}

.input-group .input-group-text i {
    font-size: 22px;
}

.input-group .input-group-text i[class*="fa-"] {
    font-size: 18px;
}

.input-group.style-two {
    padding: 0;
}

.input-group.style-two .input-group-text {
    margin: 0;
}

.input-group.style-two .form--control {
    padding-block: 13px;
}

/* --======================Custom Input group End ======================*/
/* ================================= Modal Css Start =========================== */
.custom--modal .modal-header {
    padding: 14px 16px;
    background-color: hsl(var(--base));
}

.custom--modal .modal-header .modal-title {
    color: hsl(var(--white));
}

.custom--modal .modal-header .btn-close {
    --size: 30px;
    opacity: 1 !important;
    width: var(--size);
    height: var(--size);
    background: unset;
    border: 1px solid hsl(var(--white));
    padding: 0;
    border-radius: 100%;
    line-height: 1;
}

.custom--modal .modal-header .btn-close::after {
    content: "\f00d";
    -webkit-transition: 0.2s;
    transition: 0.2s;
    font-size: 1rem;
    font-family: "Line Awesome Free";
    font-weight: 900;
    line-height: 1;
    color: hsl(var(--white));
}

.custom--modal .modal-header .btn-close:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.custom--modal .modal-header .btn-close:hover::after {
    font-size: 1.125rem;
}

.custom--modal .modal-content {
    border-radius: 10px !important;
    border: 0;
}

.custom--modal .modal-body {
    padding: 14px 16px;
}

@media screen and (max-width: 991px) {
    .custom--modal .modal-body {
        padding: 8px 10px;
    }
}

.custom--modal .modal-icon i {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border: 3px solid hsl(var(--base));
    border-radius: 50%;
    font-size: 2rem;
    color: hsl(var(--base));
}

.custom--modal .modal-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 15px;
    border-top: 1px solid hsl(var(--black) / 0.12);
}

/* ================================= Modal Css End =========================== */
/* ================================= Pagination Css Start =========================== */
.pagination {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    row-gap: 5px;
}

.pagination .page-item.active .page-link {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: hsl(var(--base));
}

.pagination .page-item .page-link {
    border: 1px solid hsl(var(--black) / 0.15);
    margin: 0 5px;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: transparent;
    font-weight: 500;
    padding: 0;
    color: hsl(var(--body-color));
    background-color: hsl(var(--white));
}

.pagination .page-item .page-link:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: hsl(var(--base));
}

.pagination .page-item .page-link:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* ================================= Pagination Css End =========================== */
/* ================================= Table Css Start =========================== */
/* Table Content Css start */
@media screen and (max-width: 374px) {
    .customer {
        display: block;
        text-align: left;
    }
}

.customer__thumb {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (max-width: 374px) {
    .customer__thumb {
        margin-left: auto;
    }
}

.customer__content {
    width: calc(100% - 35px);
    padding-left: 15px;
    text-align: left;
}

@media screen and (max-width: 424px) {
    .customer__content {
        padding-left: 8px;
    }
}

@media screen and (max-width: 374px) {
    .customer__content {
        width: 100%;
        padding-left: 0px;
        padding-top: 5px;
    }
}

.customer__name {
    margin-bottom: 0;
    font-size: 0.8125rem;
    color: hsl(var(--black) / 0.7);
}

.action-buttons {
    gap: 10px;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.action-btn {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 1px solid hsl(var(--border-color));
}

.action-icon-btn {
    --color: hsl(var(--black) / 0.3);
    width: 25px;
    height: 25px;
    border-radius: 5px;
    border: 1px solid var(--color);
    padding: 0;
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--color);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.action-icon-btn:hover {
    --color: hsl(var(--base));
}

.edit-btn {
    color: hsl(var(--info));
    background-color: hsl(var(--info) / 0.08);
}

.delete-btn {
    color: hsl(var(--danger));
    background-color: hsl(var(--danger) / 0.08);
}

/* Table Content Css end */
/* Table Css Start */
.custom--table {
    --border-radius: 16px;
    margin: 0;
    border-collapse: collapse;
    border-collapse: separate;
    border-spacing: 0px 0px;
    border-radius: var(--border-radius);
    -webkit-box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    background-color: hsl(var(--white));
    margin-bottom: 4px;
}

.custom--table.has-table-card {
    --border-radius: 0 !important;
    border-radius: var(--border-radius);
    box-shadow: unset;
}

.custom--table.has-table-card tbody tr:last-child td {
    border-bottom: 0;
}

.custom--table.has-table-card tbody tr td:first-child {
    border-left: 0;
}

.custom--table.has-table-card tbody tr td:last-child {
    border-right: 0;
}

.custom--table thead tr th {
    background-color: hsl(var(--white));
    text-align: center;
    padding: 15px 15px;
    color: hsl(var(--white));
    font-weight: 600;
    border-bottom: 0;
    max-width: 170px;
    font-size: 0.875rem;
    background-color: hsl(var(--base));
    text-align: left;
}

.custom--table thead tr th:not(:first-child) {
    border-left: 0;
}

.custom--table thead tr th:first-child {
    text-align: left;
    border-radius: var(--border-radius) 0 0 0;
}

.custom--table thead tr th:last-child {
    border-radius: 0 var(--border-radius) 0 0;
    text-align: right;
}

.custom--table thead tr th:nth-child(2) {
    text-align: left;
}

.custom--table tbody {
    border: 0 !important;
    border-radius: 0 0 var(--border-radius) var(--border-radius);
    overflow: hidden;
}

.custom--table tbody tr {
    border-bottom: 1px solid hsl(var(--black) / 0.08);
}

.custom--table tbody tr:last-child {
    border-bottom: 0;
}

.custom--table tbody tr:last-child td {
    border-bottom: 1px solid hsl(var(--black) / 0.08);
}

.custom--table tbody tr:last-child td:first-child {
    border-radius: 0px 0 0 var(--border-radius);
}

.custom--table tbody tr:last-child td:last-child {
    border-radius: 0 0 var(--border-radius) 0;
}

.custom--table tbody tr td {
    text-align: left;
    vertical-align: middle;
    padding: 12px 15px;
    border-width: 1px;
    border: 0;
    color: hsl(var(--body-color));
    font-weight: 500;
    max-width: 170px;
    font-size: 0.8125rem;
    border-bottom: 1px solid hsl(var(--black) / 0.08);
}

.custom--table tbody tr td::before {
    content: attr(data-label);
    font-family: var(--heading-font);
    font-size: 0.9375rem;
    color: hsl(var(--black));
    font-weight: 500;
    display: none;
    width: 45% !important;
    text-align: left;
}

.custom--table tbody tr td:first-child {
    text-align: left;
    border-left: 1px solid hsl(var(--black) / 0.08);
    font-size: 0.875rem;
}

.custom--table tbody tr td:last-child {
    text-align: right;
    border-right: 1px solid hsl(var(--black) / 0.08);
}

.custom--table tbody tr td a {
    color: hsl(var(--base));
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
}

.custom--table tbody tr td a:hover {
    color: hsl(var(--base-d-400));
}

.custom--table .avatar {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    overflow: hidden;
}

.custom--table .avatar img {
    object-fit: cover;
    height: 100%;
}

@media screen and (max-width: 767px) {
    .table--responsive--sm tbody tr:last-child td:first-child {
        border-radius: 0;
    }

    .table--responsive--sm thead {
        display: none;
    }

    .table--responsive--sm tbody tr {
        display: block;
    }

    .table--responsive--sm tbody tr:last-child td {
        border-bottom: 0;
    }

    .table--responsive--sm tbody tr:last-child td:last-child {
        border-radius: 0 0 var(--border-radius) var(--border-radius);
    }

    .table--responsive--sm tbody tr:first-child td:first-child {
        border-radius: var(--border-radius) var(--border-radius) 0 0;
    }

    .table--responsive--sm tbody tr td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 15px;
        text-align: right;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black) / 0.8);
        max-width: unset;
        border: 0;
    }

    .table--responsive--sm tbody tr td:last-child {
        border: none;
    }

    .table--responsive--sm tbody tr td:first-child {
        text-align: right;
        border-left: 0;
    }

    .table--responsive--sm tbody tr td::before {
        display: block;
        font-size: 0.875rem;
        color: hsl(var(--black) / 0.7);
    }
}

@media screen and (max-width: 991px) {
    .table--responsive--md tbody tr:last-child td:first-child {
        border-radius: 0;
    }

    .table--responsive--md thead {
        display: none;
    }

    .table--responsive--md tbody tr {
        display: block;
    }

    .table--responsive--md tbody tr:last-child td {
        border-bottom: 0;
    }

    .table--responsive--md tbody tr:last-child td:last-child {
        border-radius: 0 0 var(--border-radius) var(--border-radius);
    }

    .table--responsive--md tbody tr:first-child td:first-child {
        border-radius: var(--border-radius) var(--border-radius) 0 0;
    }

    .table--responsive--md tbody tr td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 15px;
        text-align: right;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black) / 0.8);
        max-width: unset;
        border: 0;
    }

    .table--responsive--md tbody tr td:last-child {
        border: none;
    }

    .table--responsive--md tbody tr td:first-child {
        text-align: right;
        border-left: 0;
    }

    .table--responsive--md tbody tr td::before {
        display: block;
        font-size: 0.875rem;
        color: hsl(var(--black) / 0.7);
    }
}

@media screen and (max-width: 1199px) {
    .table--responsive--lg tbody tr:last-child td:first-child {
        border-radius: 0;
    }

    .table--responsive--lg thead {
        display: none;
    }

    .table--responsive--lg tbody tr {
        display: block;
    }

    .table--responsive--lg tbody tr:last-child td {
        border-bottom: 0;
    }

    .table--responsive--lg tbody tr:last-child td:last-child {
        border-radius: 0 0 var(--border-radius) var(--border-radius);
    }

    .table--responsive--lg tbody tr:first-child td:first-child {
        border-radius: var(--border-radius) var(--border-radius) 0 0;
    }

    .table--responsive--lg tbody tr td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 15px;
        text-align: right;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black) / 0.8);
        max-width: unset;
        border: 0;
    }

    .table--responsive--lg tbody tr td:last-child {
        border: none;
    }

    .table--responsive--lg tbody tr td:first-child {
        text-align: right;
        border-left: 0;
    }

    .table--responsive--lg tbody tr td::before {
        display: block;
        font-size: 0.875rem;
        color: hsl(var(--black) / 0.7);
    }
}

@media screen and (max-width: 1399px) {
    .table--responsive--xl tbody tr:last-child td:first-child {
        border-radius: 0;
    }

    .table--responsive--xl thead {
        display: none;
    }

    .table--responsive--xl tbody tr {
        display: block;
    }

    .table--responsive--xl tbody tr:last-child td {
        border-bottom: 0;
    }

    .table--responsive--xl tbody tr:last-child td:last-child {
        border-radius: 0 0 var(--border-radius) var(--border-radius);
    }

    .table--responsive--xl tbody tr:first-child td:first-child {
        border-radius: var(--border-radius) var(--border-radius) 0 0;
    }

    .table--responsive--xl tbody tr td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 15px;
        text-align: right;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black) / 0.8);
        max-width: unset;
        border: 0;
    }

    .table--responsive--xl tbody tr td:last-child {
        border: none;
    }

    .table--responsive--xl tbody tr td:first-child {
        text-align: right;
        border-left: 0;
    }

    .table--responsive--xl tbody tr td::before {
        display: block;
        font-size: 0.875rem;
        color: hsl(var(--black) / 0.7);
    }
}

/* ================================= Table Css End =========================== */
/* ================================= Badge Css Start =========================== */
.custom--badge,
.badge {
    --badge-color: var(--base);
    font-size: 0.75rem;
    border-radius: 5px;
    padding: 8px 10px;
    font-weight: 500;
    position: relative;
    text-align: center;
    background-color: hsl(var(--badge-color) / 0.15) !important;
    color: hsl(var(--badge-color)) !important;
}

.badge--base {
    --badge-color: var(--base);
}

.badge--primary {
    --badge-color: var(--primary);
}

.badge--secondary {
    --badge-color: var(--secondary);
}

.badge--success {
    --badge-color: var(--success);
}

.badge--danger {
    --badge-color: var(--danger);
}

.badge--warning {
    --badge-color: var(--warning);
}

.badge--info {
    --badge-color: var(--info);
}

/* ================================= Badge Css End =========================== */
/* ====================================== Alert Css Start =============================== */
.alert {
    --alert-color: var(--base);
    margin-bottom: 0;
    background-color: hsl(var(--white)) !important;
    font-weight: 400;
    padding: 17px 24px;
    border-radius: 5px;
    border-color: hsl(var(--alert-color) / 0.6);
}

@media screen and (max-width: 991px) {
    .alert {
        padding: 16px;
    }
}

@media screen and (max-width: 575px) {
    .alert {
        padding: 12px;
    }
}

.alert__icon {
    font-size: 1.5rem;
    line-height: 1;
    color: hsl(var(--alert-color));
    border: 1px solid currentColor;
    width: 40px;
    height: 40px;
    border-radius: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.alert__content {
    width: calc(100% - 24px);
    padding-left: 32px;
}

@media screen and (max-width: 991px) {
    .alert__content {
        padding-left: 16px;
    }
}

@media screen and (max-width: 575px) {
    .alert__content {
        padding-left: 0;
        width: 100%;
        margin-top: 6px;
    }
}

.alert__title {
    font-size: 1rem;
    color: hsl(var(--base-two) / 0.8);
    font-weight: 600;
    font-family: var(--heading-font);
    margin-bottom: 6px;
}

.alert__desc {
    color: hsl(var(--base-two) / 0.5);
    display: block;
    line-height: 1.375;
}

@media screen and (max-width: 424px) {
    .alert__desc {
        font-size: 0.8125rem;
    }
}

.alert__link {
    position: relative;
}

.alert__link:hover::before {
    visibility: visible;
    opacity: 1;
    bottom: 0;
}

.alert__link::before {
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 1px;
    background-color: hsl(var(--base));
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.alert--base {
    --alert-color: var(--base);
}

.alert--primary {
    --alert-color: var(--primary);
}

.alert--success {
    --alert-color: var(--success);
}

.alert--info {
    --alert-color: var(--info);
}

.alert--danger {
    --alert-color: var(--danger);
}

.alert--warning {
    --alert-color: var(--warning);
}

.alert--secondary {
    --alert-color: var(--secondary);
}

/* ====================================== Alert Css End =============================== */
/* ================================= preload Css Start =========================== */
.preloader {
    position: fixed;
    z-index: 999999;
    background-color: hsl(var(--black));
    width: 100%;
    height: 100%;
}

.loader-inner {
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: 400px;
    max-height: 400px;
    padding: 20px;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* From Uiverse.io by G27XLEO */
}

.loader-inner .heart #line {
    fill: none;
    stroke: hsl(var(--base));
    stroke-width: 1.5;
    stroke-linecap: butt;
    stroke-linejoin: round;
    stroke-miterlimit: 4;
    stroke-opacity: 1;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    -webkit-animation: dash 3s linear infinite;
    animation: dash 3s linear infinite;
}

.loader-inner .heart #point {
    fill: none;
    stroke: hsl(var(--base));
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 0.1;
    stroke-opacity: 1;
    stroke-dasharray: 0.0001, 0.9999;
    stroke-dashoffset: 1;
    -webkit-animation: dash 3s linear infinite;
    animation: dash 3s linear infinite;
}

@-webkit-keyframes dash {
    0% {
        stroke-dashoffset: 1;
    }

    80% {
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes dash {
    0% {
        stroke-dashoffset: 1;
    }

    80% {
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

.loader-p:before,
.loader-p:after {
    content: "";
    border: 1em solid hsl(var(--base));
    border-radius: 50%;
    width: inherit;
    height: inherit;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: loader 2s linear infinite;
    animation: loader 2s linear infinite;
    opacity: 0;
}

.loader-p:before {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

@-webkit-keyframes loader {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0;
    }
}

@keyframes loader {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0;
    }
}

/* ================================= preload Css End ===========================  */
/* ============= Header Start Here ======================= */
.banner-section:has(header.fixed-header) {
    padding-top: 80px;
}

@media screen and (max-width: 1199px) {
    .banner-section:has(header.fixed-header) {
        padding-top: 75px;
    }
}

.header {
    position: absolute;
    width: 100%;
    top: 77px;
    left: 0;
    z-index: 2;
}

@media screen and (max-width: 1199px) {
    .header {
        top: 0px;
    }
}

.header:is(.header.fixed-header) {
    background-color: hsl(var(--white));
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    width: 100%;
    position: fixed;
    top: 0;
    -webkit-animation: slide-down 0.4s linear;
    animation: slide-down 0.4s linear;
    z-index: 999;
}

.header:is(.header.fixed-header) .navbar {
    background-color: transparent;
}

.header:is(.header.fixed-header) .navbar-brand {
    margin-top: 0;
}

.header .navbar {
    padding: 0 !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .header .navbar {
        padding-block: 15px !important;
        border-radius: 0 0 5px 5px;
    }
}

@media screen and (max-width: 767px) {
    .header .navbar {
        padding-block: 10px !important;
    }
}

.header .navbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 18px;
    margin-top: 18px;
    -webkit-transition-duration: 0ms;
    transition-duration: 0ms;
}

.header .navbar .navbar-brand.logo img {
    max-width: 210px;
    width: 100%;
    max-height: 66px;
}

@media screen and (max-width: 991px) {
    .header .navbar .navbar-brand.logo img {
        max-width: 180px;
        max-height: 58px;
    }
}

@media screen and (max-width: 1199px) {
    .header .navbar .navbar-brand.logo {
        margin-top: 0;
    }
}

.header .navbar .navbar-nav {
    padding-right: 8px;
}

.header .navbar .nav-link {
    padding-block: 28px;
    font-size: 16px;
    font-weight: 700;
    color: hsl(var(--black) / 0.5);
}

.header .navbar .nav-link.active {
    color: hsl(var(--base)) !important;
}

.header .navbar .nav-item:hover .nav-link {
    color: hsl(var(--black) / 0.9);
}

.header .navbar .contact-link {
    background-color: hsl(var(--base));
    height: 100%;
    color: hsl(var(--white));
    font-weight: 700;
    font-size: 1.25rem;
    padding-inline: 28px;
}

.header .navbar .contact-link .icon {
    position: relative;
    margin-left: 30px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.header .navbar .contact-link:hover .icon {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
}

@-webkit-keyframes slide-down {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-150%);
        transform: translateY(-150%);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes slide-down {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-150%);
        transform: translateY(-150%);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

.navbar-toggler.header-button {
    border-color: transparent;
    color: hsl(var(--dark));
    background: transparent;
    padding: 0;
    border: 0;
    border-radius: 0;
    -webkit-transition: 0.15s ease-in-out;
    transition: 0.15s ease-in-out;
    width: auto;
    font-size: 2.5rem;
    padding-right: 15px;
}

.navbar-toggler.header-button:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.navbar-toggler.header-button[aria-expanded="true"] i::before {
    content: "\f00d";
}

/* ============================== Header offcanvas Design Start ======================= */

.offcanvas__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 100%;
}

@media screen and (max-width: 424px) {
    .offcanvas {
        --bs-offcanvas-width: 300px;
    }
}

@media screen and (max-width: 1199px) {
    .language-dropdown .dropdown-toggle {
        color: hsl(var(--dark)) !important;
    }

    .language-dropdown .dropdown-menu {
        background-color: hsl(var(--white)) !important;
        right: 0;
        left: auto;
    }

    .language-dropdown__item {
        color: hsl(var(--dark)) !important;
    }

    .language-dropdown__item:hover {
        background-color: hsl(var(--base) / 0.1) !important;
    }

    .offcanvas--close {
        --size: 25px;
        width: var(--size);
        height: var(--size);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        position: absolute;
        right: -9px;
        top: 10px;
        font-size: 0.875rem;
        background: hsl(var(--white));
        border: 1px solid hsl(var(--border-color));
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 1;
    }

    .offcanvas .offcanvas-header .navbar-brand {
        padding-left: 0;
    }

    .offcanvas__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .offcanvas__body .nav-link {
        padding-block: 12px !important;
    }

    .offcanvas .contact-link {
        padding: 0;
        padding-block: 12px !important;
        font-size: 1rem;
    }

    .offcanvas .contact-link .text {
        color: hsl(var(--white));
        background-color: hsl(var(--base));
    }

    /* offcanvas footer action buttons (Donate | Support) */
    .offcanvas .offcanvas-footer .contact-link {
        height: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 10px;
        margin: 12px 20px 0;
        padding: 13px 18px !important;
        border-radius: 10px;
        background-color: hsl(var(--base));
        color: hsl(var(--white));
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
    }

    .offcanvas .offcanvas-footer .contact-link:last-child {
        margin-bottom: 20px;
    }

    .offcanvas .offcanvas-footer .contact-link .text {
        background-color: transparent;
        color: hsl(var(--white));
        padding: 0;
    }

    .offcanvas .offcanvas-footer .contact-link .icon {
        margin-left: 0;
        color: hsl(var(--white));
        font-size: 1.15rem;
    }

    .offcanvas .contact-info {
        padding: 20px;
    }

    .offcanvas .contact-info__title {
        font-family: var(--body-font);
        font-size: 1.25rem;
        font-weight: 700;
        color: hsl(var(--black));
        margin-bottom: 8px;
    }

    .offcanvas .contact-info__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 8px;
        padding-bottom: 15px;
        margin-bottom: 15px;
        border-bottom: 1px solid hsl(var(--black) / 0.1);
    }

    .offcanvas .contact-info__list-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 10px;
    }

    .offcanvas .contact-info__list a {
        color: hsl(var(--dark));
    }

    .offcanvas .contact-info .social-info__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 8px;
    }

    .offcanvas .contact-info .social-info__list a {
        --size: 30px;
        width: var(--size);
        height: var(--size);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        color: hsl(var(--white));
        background-color: hsl(var(--dark));
        padding: 10px;
        font-size: 0.875rem;
        border-radius: 50%;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }

    .offcanvas .contact-info .social-info__list a:hover {
        background-color: hsl(var(--dark) / 0.8);
    }
}

.header-search-from {
    max-width: 400px;
    margin-left: auto;
}

/* ============================== Header offcanvas Design End ======================= */
/* ================================= Header Css End =========================== */
/* ================ Top Header Start Here ================ */
.header-top {
    background-color: hsl(var(--dark));
}

@media screen and (max-width: 1199px) {
    .header-top {
        display: none;
    }
}

.header-top .top-header-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

.header-top__left {
    background-color: hsl(var(--base-d-200));
    color: hsl(var(--white));
    padding-block: 24px;
    position: absolute;
    z-index: 3;
}

.header-top__left::after,
.header-top__left::before {
    content: "";
    position: absolute;
    right: 0;
}

.header-top__left::after {
    top: 0;
    left: 100%;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 0 solid transparent;
    border-bottom: 100px solid hsl(var(--base-d-200));
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.header-top__left::before {
    bottom: 0;
    left: 100%;
    width: 0;
    height: 0;
    border-left: 25px solid transparent;
    border-right: 0 solid transparent;
    border-bottom: 24px solid hsl(var(--base-d-500));
    -webkit-transform: rotate(181deg);
    transform: rotate(181deg);
}

@media screen and (max-width: 767px) {
    .header-top__left {
        position: static;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 0;
    }
}

.header-top__left .contact-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 767px) {
    .header-top__left .contact-list {
        height: 100%;
    }
}

.header-top__left .contact-list__item {
    padding-inline: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
}

.header-top__left .contact-list__item-icon {
    --size: 50px;
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: hsl(var(--base));
    border-radius: 100%;
}

@media screen and (max-width: 767px) {
    .header-top__left .contact-list__item-icon {
        --size: 25px;
        background-color: transparent;
    }
}

.header-top__left .contact-list__link .title {
    display: block;
    color: hsl(var(--white));
    font-weight: 500;
    font-size: 1.125rem;
}

@media screen and (max-width: 991px) {
    .header-top__left .contact-list__link .title {
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .header-top__left .contact-list__link .title {
        white-space: nowrap;
        font-size: 0.875rem;
    }
}

.header-top__left .contact-list__link .susbtitle {
    font-size: 1rem;
    color: hsl(var(--white));
}

.header-top__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 24px;
    width: 100%;
    height: 77px;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
}

@media screen and (max-width: 767px) {
    .header-top__right {
        height: 45px;
    }
}

.header-top__right .social-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
}

.header-top__right .social-icon__item {
    --size: 32px;
}

.header-top__right .social-icon__item a {
    color: hsl(var(--white) / 0.92);
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    font-size: 15px;
    line-height: 1;
    background-color: hsl(var(--white) / 0.14);
    border: 1px solid hsl(var(--white) / 0.22);
    transition: all 0.25s ease;
}

.header-top__right .social-icon__item:hover a {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-box-shadow: 0 6px 14px hsl(var(--base) / 0.4);
    box-shadow: 0 6px 14px hsl(var(--base) / 0.4);
}

.top-login a {
    color: hsl(var(--white) / 0.6);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px;
}

.top-login a:hover {
    color: hsl(var(--white));
}

.top-login__text {
    white-space: nowrap;
}

.language-dropdown .dropdown-toggle {
    color: hsl(var(--white));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4px;
}

.language-dropdown .icon {
    --size: 20px;
    width: var(--size);
    height: var(--size);
    border-radius: 100%;
    overflow: hidden;
    line-height: 1;
}

.language-dropdown .icon img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.language-dropdown .dropdown-menu {
    background-color: hsl(var(--black));
    color: hsl(var(--white));
}

.language-dropdown__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    padding-left: 10px;
    padding-block: 10px;
    color: hsl(var(--white) / 0.6);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    cursor: pointer;
}

.language-dropdown__item:hover {
    color: hsl(var(--white));
    background: hsl(var(--white) / 0.1);
}

.language-dropdown__item .icon {
    --size: 25px;
    border: 1px solid hsl(var(--white) / 0.1);
}

/* --- header location (Kenya) --- */
.top-location {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: hsl(var(--white) / 0.9);
}

.top-location__flag {
    width: 26px;
    height: 17px;
    border-radius: 3px;
    overflow: hidden;
    flex: 0 0 auto;
    box-shadow: 0 0 0 1px hsl(var(--white) / 0.25), 0 2px 6px rgba(0, 0, 0, 0.25);
}

.top-location__flag img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-location__text {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    white-space: nowrap;
}

.top-location__label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: hsl(var(--white) / 0.5);
}

.top-location__value {
    font-size: 0.84rem;
    font-weight: 600;
    color: hsl(var(--white) / 0.95);
}

/* Location inside the mobile offcanvas (light background) */
.offcanvas-header .top-location {
    margin-left: auto;
}

.offcanvas-header .top-location__label {
    color: rgba(11, 61, 31, 0.55);
}

.offcanvas-header .top-location__value {
    color: #0B3D1F;
}

.offcanvas-header .top-location__flag {
    box-shadow: 0 0 0 1px rgba(11, 61, 31, 0.2);
}

/* Responsive top bar (visible >= 1200px) */
@media screen and (max-width: 1439px) {
    .header-top__right {
        gap: 16px;
        position: relative;
        z-index: 4;
    }

    .header-top__right .social-icon {
        gap: 6px;
    }

    .header-top__right .social-icon__item {
        --size: 28px;
    }

    .top-location__label {
        display: none;
    }

    .top-login--donate a {
        padding: 6px 10px;
        font-size: 0.8rem;
    }
}

@media screen and (max-width: 1279px) {
    .header-top__left .contact-list__item {
        padding-inline: 12px;
    }

    .header-top__left .contact-list__link .susbtitle {
        display: none;
    }

    .top-location__value {
        font-size: 0.8rem;
    }

    .top-login--donate a {
        padding: 6px 9px;
    }
}

/* ================ Top Header End Here ================ */
/* ============= Footer Start Here ======================= */
.footer-area {
    background-color: hsl(var(--black));
    position: relative;
    margin-top: 16px;
}

@media screen and (max-width: 516px) {
    .footer-area {
        margin-top: 10px;
    }
}

.footer-area__layer {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: calc(100% - 30px);
    height: 71px;
    z-index: 1;
}

@media screen and (max-width: 1099px) {
    .footer-area__layer {
        bottom: calc(100% - 0px);
        height: auto;
    }
}

@media screen and (max-width: 516px) {
    .footer-area__layer {
        bottom: calc(100% - 6px);
    }
}

.footer-item__logo {
    margin-bottom: 20px;
}

.footer-item__logo a img {
    width: 100%;
    height: 100%;
    max-width: 190px;
    max-height: 64px;
}

.footer-item__desc {
    color: hsl(var(--white) / 0.7);
}

.footer-item__title {
    color: hsl(var(--white));
    padding-bottom: 10px;
    margin-bottom: 16px;
    position: relative;
    font-size: 1.25rem;
    font-family: var(--body-font);
}

.footer-item .social-list {
    margin-top: 30px;
}

@media screen and (max-width: 991px) {
    .footer-item .social-list {
        margin-top: 20px;
    }
}

@media screen and (max-width: 575px) {
    .footer-item .social-list {
        margin-top: 15px;
    }
}

.footer-item .social-list__link {
    color: hsl(var(--white) / 0.5);
}

/* Footer List Item */
.footer-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.footer-menu__item {
    display: block;
    padding-bottom: 16px;
}

.footer-menu__item:last-child {
    padding-bottom: 0;
}

.footer-menu__link {
    color: hsl(var(--white) / 0.7);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.footer-menu__link:hover {
    color: hsl(var(--white));
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
}

/* Footer Contact */
.footer-contact-menu__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 12px;
}

.footer-contact-menu__item:last-child {
    padding-bottom: 0;
}

.footer-contact-menu__item-icon {
    width: 15px;
    color: hsl(var(--base));
    font-size: 1.25rem;
}

.footer-contact-menu__item-content {
    width: calc(100% - 15px);
    padding-left: 15px;
}

.footer-form .input--group {
    background-color: hsl(var(--white));
    border-radius: 8px;
    padding: 0;
    border: 0;
    outline: 1px solid transparent !important;
}

.footer-form .form--control {
    border-radius: inherit;
    background-color: hsl(var(--white));
    padding-block: 14px;
}

.footer-form .input-group-text {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    font-size: 1.5625rem;
    padding-inline: 18px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.footer-form .input-group-text:hover {
    background-color: hsl(var(--base-d-200));
}

/* ============= Footer End Here ======================= */
/* ============= Bottom Footer End Here ======================= */
.bottom-footer {
    background-color: hsl(var(--black));
    position: relative;
    z-index: 0;
}

.bottom-footer::before {
    position: absolute;
    content: "";
    inset: 0;
    background-color: hsl(var(--white) / 0.15);
    z-index: -1;
}

/* =============Bottom Footer End Here ======================= */
/* ===================== Scroll to Top Start ================================= */
.scroll-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    color: hsl(var(--white));
    width: 48px;
    height: 48px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    z-index: 5;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    cursor: pointer;
    -webkit-transform: scale(0);
    transform: scale(0);
    background-color: hsl(var(--base));
}

.scroll-top:hover {
    color: hsl(var(--white));
    background-color: hsl(var(--base-d-100));
}

.scroll-top.show {
    -webkit-transform: scale(1);
    transform: scale(1);
}

/* ===================== Scroll to Top End ================================= */
/* ================================= Template Selection Css Start =========================== */
::-moz-selection {
    color: hsl(var(--white));
    background: hsl(var(--base-d-100));
}

::selection {
    color: hsl(var(--white));
    background: hsl(var(--base-d-100));
}

/* ================================= Template Selection Css End ===========================  */
/* ================================= Social Icon Css Start =========================== */
.social-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.social-list__item {
    margin-right: 10px;
}

.social-list__item:last-child {
    margin-right: 0;
}

.social-list__link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    cursor: pointer;
    color: hsl(var(--white));
    background-color: hsl(var(--white) / 0.15);
}

.social-list__link.active,
.social-list__link:hover,
.social-list__link:focus {
    background-color: hsl(var(--base));
    color: hsl(var(--white)) !important;
    border-color: hsl(var(--base)) !important;
}

@media screen and (max-width: 767px) {
    .social-list__link {
        width: 35px;
        height: 35px;
        font-size: 0.875rem;
    }
}

/* ================================= Social Icon Css End ===========================  */
/* ====================== Breadcrumb Css Start ==================== */
.breadcrumb-wrapper {
    padding: 90px 20px;
}

@media screen and (max-width: 991px) {
    .breadcrumb-wrapper {
        padding-block: 60px;
    }
}

@media screen and (max-width: 767px) {
    .breadcrumb-wrapper {
        padding-block: 40px;
    }
}

.breadcrumb-text {
    color: hsl(var(--white));
}

.breadcrumb-bg {
    background-position: center !important;
    background-size: cover !important;
}

/* ====================== Breadcrumb Css End ==================== */
/* ================= Slick Arrow & Dots css Start ================ */
.slick-slider {
    z-index: 0;
}

.slick-initialized.slick-slider {
    margin: 0 -10px;
}

.slick-initialized.slick-slider .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.slick-initialized.slick-slider .slick-slide {
    height: auto;
    padding: 0 10px;
}

.slick-initialized.slick-slider .slick-slide>div {
    height: 100%;
}

.slick-arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border: none;
    color: hsl(var(--white));
    width: 60px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    font-size: 20px;
}

@media screen and (max-width: 991px) {
    .slick-arrow {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }
}

@media screen and (max-width: 575px) {
    .slick-arrow {
        width: 45px;
        height: 45px;
    }
}

.slick-arrow:hover {
    border-color: hsl(var(--base));
    background-color: hsl(var(--base-two));
}

.slick-next {
    right: -20px;
}

@media screen and (max-width: 991px) {
    .slick-next {
        right: -10px;
    }
}

@media screen and (max-width: 575px) {
    .slick-next {
        right: 10px;
    }
}

.slick-prev {
    left: -20px;
}

@media screen and (max-width: 991px) {
    .slick-prev {
        left: -10px;
    }
}

@media screen and (max-width: 575px) {
    .slick-prev {
        left: 10px;
    }
}

/* -------------- Slick Slider Arrow Style two ------------  */
.slick-arrow {
    position: absolute;
    z-index: 1;
    border: none;
    background-color: transparent;
    color: hsl(var(--white));
    width: 32px;
    height: 34px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 5px;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    background-color: hsl(var(--black));
    color: hsl(var(--white));
    top: -67px;
}

@media screen and (max-width: 1199px) {
    .slick-arrow {
        top: -69px;
    }
}

@media screen and (max-width: 767px) {
    .slick-arrow {
        top: auto;
        bottom: -50px;
        right: 50%;
    }
}

.slick-arrow:hover {
    background-color: hsl(var(--black));
    color: hsl(var(--white));
}

.slick-next {
    right: 10px;
    background-color: hsl(var(--base));
}

@media screen and (max-width: 767px) {
    .slick-next {
        top: auto;
        right: calc(50% - 37px);
    }
}

.slick-prev {
    right: 52px;
}

@media screen and (max-width: 767px) {
    .slick-prev {
        top: auto;
        right: calc(50% + 5px);
    }
}

/* Dots Css Start */
.slick-dots {
    text-align: center;
    padding-top: 20px;
}

.slick-dots li {
    display: inline-block;
}

.slick-dots li button {
    border: none;
    background-color: hsl(var(--black) / 0.15);
    color: hsl(var(--white));
    margin: 0 3px;
    width: 12px;
    height: 8px;
    border-radius: 1px;
    border-radius: 8px;
    text-indent: -9999px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.slick-dots li.slick-active button {
    background-color: hsl(var(--base));
    width: 24px;
    border-radius: 5px;
    color: hsl(var(--base));
}

/* Dots Css End */
/* ================= Slick Arrow & Dots css Start ================ */
/* ======================  Select2 Start  ======================*/
.custom--select2+.select2-container {
    --border-radius: 8px;
    --height: 50px;
    border: 1px solid hsl(var(--border-color));
    border-radius: var(--border-radius);
    width: 100% !important;
    height: 50px;
}

.custom--select2+.select2-container .select2-selection__rendered {
    line-height: var(--height);
}

.custom--select2+.select2-container .select2-selection--single {
    height: var(--height) !important;
    padding: 0 0.75rem !important;
    border: 0 !important;
}

.custom--select2+.select2-container .select2-selection {
    border: 0;
    background-color: transparent;
    width: 100%;
}

.custom--select2+.select2-container .selection {
    width: 100%;
}

.custom--select2+.select2-container .select2-selection__arrow {
    top: 50% !important;
    right: 5px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #f8f8f8;
    border-radius: inherit;
    height: calc(var(--height) - 10px);
    width: calc(var(--height) - 10px);
}

.custom--select2+.select2-container .select2-selection__arrow::after {
    position: absolute;
    content: "\f078";
    inset: 0;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.custom--select2+.select2-container .select2-selection__arrow b {
    border: 0;
}

.select2-container--open:has(.select2-dropdown--above) {
    margin-top: -12px;
}

.select2-container--open:has(.select2-dropdown--below) {
    margin-top: 10px;
}

.select2-container--open .select2-dropdown {
    border: 1px solid hsl(var(--border-color)) !important;
    border-radius: 8px !important;
    overflow: hidden;
}

.select2-container--open .select2-dropdown--above {
    margin-bottom: 10px;
}

.select2-search__field {
    border-radius: 8px;
    border: 1px solid hsl(var(--border-color)) !important;
}

.select2-search__field {
    outline: 0;
    border-color: transparent !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: hsl(var(--base));
}

.select2-container--below.select2-container--open .select2-selection__arrow::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

/* ======================  Select2 End  ======================*/
.blog-sidebar-wrapper {
    position: sticky;
    top: 100px;
}

/* ============ Sidebar search box ============= */
.search-box {
    position: relative;
}

.search-box__button {
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: hsl(var(--base));
}

/* ================== Sidebar Box & Title =================== */
.blog-sidebar {
    background-color: hsl(var(--black) / 0.03);
    padding: 30px 20px;
    border-radius: 5px;
    margin-bottom: 30px;
}

.blog-sidebar:last-of-type {
    margin-bottom: 0;
}

@media screen and (max-width: 575px) {
    .blog-sidebar {
        padding: 20px 15px;
    }
}

.blog-sidebar__title {
    position: relative;
    padding-bottom: 10px;
    color: hsl(var(--black));
}

.blog-sidebar__title::before {
    position: absolute;
    content: "";
    width: 60px;
    height: 2px;
    background-color: hsl(var(--base));
    left: 0;
    bottom: 0px;
}

/* ========================= Category & Tags List Style ========================= */
.text-list {
    /* Category */
    /* Style Tag */
}

.text-list.style-category .text-list__item {
    border-bottom: 1px dashed hsl(var(--black) / 0.2);
}

.text-list.style-category .text-list__item:last-child {
    border-bottom: 0;
}

.text-list.style-category .text-list__link {
    color: hsl(var(--black));
}

.text-list.style-category .text-list__link:hover {
    color: hsl(var(--base));
}

.text-list.style-tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -7px;
}

.text-list.style-tag .text-list__item {
    padding: 7px;
}

.text-list.style-tag .text-list__link {
    color: hsl(var(--black));
    border: 1px solid hsl(var(--black) / 0.08);
    padding: 6px 20px;
    border-radius: 3px;
}

.text-list.style-tag .text-list__link.active {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

.text-list.style-tag .text-list__link:hover {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

/* ======================== Latest Blog Css========================  */
.latest-blog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid hsl(var(--black) / 0.1);
}

.latest-blog:last-of-type {
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: 0;
}

.latest-blog__thumb {
    width: 80px;
    max-height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 5px;
    overflow: hidden;
}

@media screen and (max-width: 424px) {
    .latest-blog__thumb {
        width: 60px;
    }
}

.latest-blog__thumb a {
    display: block;
    height: 100%;
    width: 100%;
}

.latest-blog__content {
    width: calc(100% - 80px);
    padding-left: 15px;
}

@media screen and (max-width: 424px) {
    .latest-blog__content {
        width: calc(100% - 60px);
    }
}

.latest-blog__title {
    margin-bottom: 5px;
}

.latest-blog__title a {
    color: hsl(var(--heading-color));
    font-weight: 500;
    font-size: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.latest-blog__title a:hover {
    color: hsl(var(--base));
}

/* ========================= Latest Blog Css End ===================*/
/* =========================== Banner Section Start Here ========================= */
.banner-section {
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding-top: 77px;
}

.banner-section .overlay-slider {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}

.banner-section .overlay-slider .slick-slide {
    padding-inline: 0 !important;
}

.banner-section .overlay-slider .slick-list,
.banner-section .overlay-slider .slick-track,
.banner-section .overlay-slider .overlay-thumb {
    height: 100%;
}

.banner-section .overlay-slider .overlay-thumb img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.banner-section .banner-content__list .banner-content__title {
    position: relative;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px);
    -webkit-transition: all 1600ms ease;
    transition: all 1600ms ease;
}

.banner-section .banner-content__list .banner-content__desc {
    position: relative;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px);
    -webkit-transition: all 1600ms ease;
    transition: all 1600ms ease;
}

.banner-section .banner-content__list .slick-active .banner-content__title {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.banner-section .banner-content__list .slick-active .banner-content__desc {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.banner-section__layer {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: -1px;
    height: 40px;
    -webkit-mask-image: url(../images/thumbs/banner-mask.png);
    mask-image: url(../images/thumbs/banner-mask.png);
    background: var(--banner-shape, #f8f8f8);
}

@media screen and (max-width: 991px) {
    .banner-section.bg-img {
        background-position: center left;
        -o-object-fit: contain;
        object-fit: contain;
    }
}

.banner-content {
    padding: 90px 0 calc(var(--form-h) / 2 + 200px);
}

@media screen and (max-width: 1199px) {
    .banner-content {
        padding: 50px 0 calc(var(--form-h) / 2 + 100px);
    }
}

@media screen and (max-width: 991px) {
    .banner-content {
        padding: 30px 0 calc(var(--form-h) / 2 + 80px);
    }
}

@media screen and (max-width: 767px) {
    .banner-content {
        padding: 30px 0 calc(var(--form-h) / 2 + 100px);
    }
}

.banner-content__heading {
    max-width: 505px;
}

.banner-content__title {
    color: hsl(var(--white));
    font-size: 3.75rem;
}

@media screen and (max-width: 1199px) {
    .banner-content__title {
        font-size: 3.125rem;
    }
}

@media screen and (max-width: 991px) {
    .banner-content__title {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 575px) {
    .banner-content__title {
        font-size: 1.875rem;
    }
}

.banner-content__desc {
    color: hsl(var(--white));
    font-size: 1.5rem;
    font-weight: 600;
}

@media screen and (max-width: 1199px) {
    .banner-content__desc {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 1199px) {
    .banner-content__desc {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 575px) {
    .banner-content__desc {
        font-size: 1rem;
    }
}

.banner-content__button {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 27px;
    row-gap: 12px;
}

@media screen and (max-width:424px) {
    .banner-content__button {
        gap: 15px;
    }
}

.banner-content__button .btn {
    padding-block: 15.5px;
    border-radius: 4px;
}

/* =========================== Banner Section End Here ========================= */
/* ======================  Cta Section Start  ======================*/


.donation-cta-section {
    margin-top: calc(-1 * (var(--form-h) / 2 + 32px));
    position: relative;
}

.donation-cta__inner {
    padding: 24px 33px 33px;
    border-radius: 24px;
    -webkit-box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    background-color: #fbfbfb;
}

@media screen and (max-width: 1199px) {
    .donation-cta__inner {
        padding: 14px 20px 20px;
    }
}

@media screen and (max-width: 767px) {
    .donation-cta__inner {
        padding: 8px 10px 10px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 575px) {
    .donation-cta__inner {
        border-radius: 12px;
    }
}

.donation-cta__title {
    font-size: 1.25rem;
    margin-bottom: 10px;
}

.donation-cta__content {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 23px;
    row-gap: 10px;
}

.donation-cta__input {
    width: 50%;
    flex-shrink: 0;
    flex-grow: 1;
}

@media screen and (max-width: 991px) {
    .donation-cta__content {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.donation-cta__input .input-group-text {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.donation-cta__btn {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

@media screen and (max-width: 575px) {
    .donation-cta__btn {
        width: 100%;
    }
}

/* ======================  Cta Section End  ======================*/
/* ======================  About Us Section Start  ======================*/
.about-us-section .mark-img img {
    -webkit-mask-image: url(../images/thumbs/about-mask.png);
    mask-image: url(../images/thumbs/about-mask.png);
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    width: 100%;
}

.about-us__text {
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 25px;
}

@media screen and (max-width:575px) {
    .about-us__text {
        font-size: 1rem;
    }
}

.about-us__list {
    font-size: 1.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px;
    row-gap: 16px;
}

@media screen and (max-width:768px) {
    .about-us__list {
        font-size: 1rem;
        gap: 10px;
    }
}

.about-us__list-item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 fit-content;
    flex: 1 1 fit-content;
    min-width: calc(50% - 10px);
}

.about-us__list-item-icon {
    color: hsl(var(--base));
    margin-right: 10px;
}

.about-us__number {
    margin-top: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 28px 20px;
    border-radius: 16px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 1px solid hsl(var(--border-color));
    row-gap: 10px;
}

@media screen and (max-width: 1199px) {
    .about-us__number {
        padding: 20px 15px;
    }
}

@media screen and (max-width: 767px) {
    .about-us__number {
        padding: 15px 10px;
    }
}

@media screen and (max-width: 575px) {
    .about-us__number {
        padding: 10px 8px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.about-us__number-item {
    color: hsl(var(--base));
    -ms-flex-item-align: start;
    align-self: flex-start;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.about-us__number-item:not(:last-child) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-preferred-size: max-content;
    flex-basis: max-content;
}

.about-us__number-item:not(:last-child) .about-us__number-content {
    position: static;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-preferred-size: max-content;
    flex-basis: max-content;
    -ms-flex-negative: 1;
    flex-shrink: 1;
}

.about-us__number-item:not(:last-child) .about-us__number-space {
    min-width: 10px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
}

.about-us__number-item:not(:last-child) .about-us__number-space::after {
    position: absolute;
    content: "";
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 0;
    height: 100%;
    width: 1px;
    background-color: hsl(var(--border-color));
}

@media screen and (max-width: 575px) {
    .about-us__number-item:not(:last-child) .about-us__number-space::after {
        display: none;
    }
}

.about-us__number-value {
    color: hsl(var(--base));
    margin-bottom: 0;
}

.about-us__number-text {
    font-size: 18px;
    font-weight: 500;
}

/* ======================  About Us Section End  ======================*/
.about-page {
    --banner-shape: #fff;
}

/* ======================  Campaign Section Start  ======================*/
.campaign-section {
    position: relative;
}

.campaign-section__overlay {
    position: absolute;
    bottom: 130px;
    right: 0;
    -webkit-animation: bounce 4s ease infinite;
    animation: bounce 4s ease infinite;
}

@media screen and (max-width: 991px) {
    .campaign-section__overlay {
        display: none;
    }
}

.campaign-section .section-heading {
    margin-bottom: 0;
}

.campaign-card {
    overflow: hidden;
}

.campaign-card .card-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.campaign-card__status {
    margin-top: auto;
}

.campaign-card__percentage {
    color: hsl(var(--base));
    font-size: 10px;
    font-weight: 700;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    position: relative;
    width: 30px;
    height: 30px;
    top: 4px;
}

.campaign-card__percentage .svg {
    left: -20px;
    position: absolute;
    width: 100%;
    height: 100%;
}

.campaign-card__percentage .svg svg {
    fill: hsl(var(--base));
}

.campaign-card__percentage .text {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 5px;
    white-space: nowrap;
}

.campaign-card__pipe {
    position: relative;
    width: 100%;
    height: 12px;
    background-color: hsl(var(--base) / 0.2);
    border-radius: 10px;
}

.campaign-card__pipe .fill {
    display: block;
    background-color: hsl(var(--base));
    border-radius: 10px;
    height: 100%;
}

.campaign-card__number-item {
    font-size: 0.875rem;
    font-weight: 700;
}

.campaign-card__number-title {
    color: hsl(var(--black));
}

.campaign-card__number-ammount {
    color: hsl(var(--base));
}

.campaign-card__author {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
}

.campaign-card__author-thumb {
    width: 26px;
    height: 26px;
}

.campaign-card__author-thumb img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid hsl(var(--black) / 0.1);
}

.campaign-card__author-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: hsl(var(--body-color));
    transition: all 0.2s;
}

.campaign-card__author-name:hover {
    color: hsl(var(--base));
}

.campaign-card__date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
}

.campaign-card__date .text {
    font-size: 0.875rem;
    font-weight: 500;
}

.campaign-card__date .icon {
    color: hsl(var(--base));
}

.mobile-filter {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px;
}

@media screen and (max-width: 424px) {
    .mobile-filter {
        gap: 10px;
    }
}

.mobile-filter .input-group {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 500px;
    border: 1px solid hsl(var(--black) / 0.3);
    border-radius: 8px;
    background-color: hsl(var(--white));
    overflow: hidden;
}

.mobile-filter .input-group input {
    height: inherit;
}

.mobile-filter .input-group-text {
    padding-inline: 15px;
    height: inherit;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-radius: inherit !important;
}

.volunteer-btn {
    max-width: 350px;
    padding-block: 11px;
}

/* ======================  Campaign Section End  ======================*/
/* ======================  Feature Section Start  ======================*/
.feature-section__btn-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 27px;
}

.feature-card {
    background-color: hsl(var(--black));
    border-radius: 8px;
    color: hsl(var(--white));
    padding: 0 32px 24px;
}

@media screen and (max-width: 767px) {
    .feature-card {
        padding: 0 25px 18px;
    }
}

@media screen and (max-width: 374px) {
    .feature-card {
        padding: 0 10px 8px;
    }
}

.feature-card__icon {
    --size: 60px;
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: hsl(var(--base));
    border-bottom-left-radius: 100px;
    border-bottom-right-radius: 100px;
    position: relative;
    top: -16px;
    font-size: 1.5625rem;
}

.feature-card__icon::after {
    content: "";
    position: absolute;
    border-left: 16px solid transparent;
    border-right: 0px solid transparent;
    border-bottom: 11px solid hsl(var(--base-d-300));
    top: 3px;
    right: -13px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.feature-card__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: hsl(var(--white));
    margin-top: -2px;
    margin-bottom: 14px;
}

@media screen and (max-width: 575px) {
    .feature-card__title {
        font-size: 1.125rem;
        margin-bottom: 8px;
        margin-top: -4px;
    }
}

.feature-card__desc {
    font-size: 1rem;
    color: hsl(var(--white));
}

@media screen and (max-width: 575px) {
    .feature-card__desc {
        font-size: 0.875rem;
    }
}

/* ======================  Feature Section End  ======================*/
/* ======================  Faq Section Start  ======================*/
.faq-section {
    background-color: hsl(var(--black) / 0.025);
    position: relative;
}

.faq-section__overlay .handshake-love {
    position: absolute;
    left: 5%;
    bottom: 60%;
}

.faq-section__overlay .hand-love {
    position: absolute;
    right: 5%;
    bottom: 20%;
    -webkit-animation: rotation 3s ease infinite;
    animation: rotation 3s ease infinite;
}

@media screen and (max-width: 1199px) {
    .faq-section__overlay {
        display: none;
    }
}

.faq-section .section-heading {
    margin-bottom: 38px;
}

.faq-section .faq-video {
    position: relative;
    z-index: 0;
}

.faq-section .faq-video .play-video {
    --size: 73px;
    position: absolute;
    font-size: 3rem;
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 100%;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    outline: 8px solid hsl(var(--base) / 0.4);
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 9;
}

.faq-section .faq-video .faq-video-thumb {
    position: relative;
    -webkit-mask-image: url(../images/thumbs/faq-mask.png);
    mask-image: url(../images/thumbs/faq-mask.png);
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;
    width: 100%;
}

.faq-section .faq-video .faq-video-thumb::after {
    content: "";
    inset: 0;
    position: absolute;
    background-color: hsl(var(--black) / 0.5);
}

/* ======================  Faq Section End  ======================*/
/* ======================  Team Section Start  ======================*/
.team-card__thumb {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    overflow: hidden;
}

.team-card__context {
    background-color: hsl(var(--white));
    position: relative;
    padding: 17px 30px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.team-section .team-card__context {
    background-color: #fafafa;
    position: relative;
    padding: 17px 30px;
}

@media screen and (max-width: 575px) {
    .team-card__context {
        padding: 17px 12px 20px;
    }
}

.team-card__url {
    width: 56px;
    height: 56px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 100%;
    border: 3px solid hsl(var(--white));
    background-color: #212121;
    color: hsl(var(--white));
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
    bottom: calc(100% - 20px);
    right: 16px;
}

.team-card__url:hover {
    color: hsl(var(--white));
    background: hsl(var(--base));
}

.team-card__name {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
}

@media screen and (max-width: 575px) {
    .team-card__name {
        font-size: 18px;
    }
}

.team-card__designation {
    color: hsl(var(--base));
}

/* ======================  Team Section End  ======================*/
/* ======================  Volunteer-cta Section Start  ======================*/
.volunteer-cta-section {
    position: relative;
    background-color: #212121;
    overflow: hidden;
}

.volunteer-cta-section .section-img {
    position: absolute;
    left: 45px;
    top: 0;
    height: 100%;
}

.volunteer-cta-section .section-img img {
    height: 100%;
}

.volunteer-cta-section .section-heading {
    --hand-color: var(--white);
    max-width: 595px;
}

.volunteer-cta-section .section-heading__title,
.volunteer-cta-section .section-heading__desc {
    color: hsl(var(--white));
}

.volunteer-cta-section .volunteer-cta__gallery {
    position: relative;
    height: 370px;
    max-width: 525px;
    width: 100%;
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__overlay {
    position: absolute;
    left: 38%;
    bottom: -10px;
    -webkit-animation: bounce 4s ease infinite;
    animation: bounce 4s ease infinite;
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__one,
.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__two,
.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__three {
    position: absolute;
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__one img,
.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__two img,
.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__three img {
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__one {
    left: 60px;
    top: -10px;
}

@media screen and (max-width: 575px) {
    .volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__one {
        left: 0px;
    }
}

@media screen and (max-width: 424px) {
    .volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__one {
        display: none;
    }
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__one img {
    -webkit-mask-image: url(../images/thumbs/cta-mask-1.png);
    mask-image: url(../images/thumbs/cta-mask-1.png);
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__two {
    top: 200px;
}

@media screen and (max-width: 424px) {
    .volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__two {
        display: none;
    }
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__two img {
    -webkit-mask-image: url(../images/thumbs/cta-mask-2.png);
    mask-image: url(../images/thumbs/cta-mask-2.png);
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__three {
    left: 195px;
}

@media screen and (max-width: 424px) {
    .volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__three {
        left: 0;
    }
}

.volunteer-cta-section .volunteer-cta__gallery .volunteer-cta__three img {
    -webkit-mask-image: url(../images/thumbs/cta-mask-3.png);
    mask-image: url(../images/thumbs/cta-mask-3.png);
}

/* ======================  Volunteer-cta Section End  ======================*/
/* ================================= Blog Section Css Start Here ============================= */
.blog {
    position: relative;
}

.blog .blog-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
}

.blog .blog-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: hsl(var(--white) / 0.96);
}

.blog .blog-overlay img {
    width: 100%;
    height: 100%;
}

.blog-item {
    overflow: hidden;
    height: 100%;
}

.blog-item:hover .blog-item__thumb img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.blog-item__thumb {
    overflow: hidden;
    border-radius: 8px;
    max-height: 300px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.blog-item__thumb img {
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
}

.blog-item__thumb-link {
    width: 100%;
    height: 100%;
}

.blog-item__content {
    background-color: hsl(var(--white) / 0.07);
    padding: 35px 25px;
    height: 100%;
}

@media screen and (max-width: 767px) {
    .blog-item__content {
        padding: 30px 20px;
    }
}

@media screen and (max-width: 424px) {
    .blog-item__content {
        padding: 25px 15px;
    }
}

.blog-item__title {
    margin-top: 3px;
    margin-bottom: 12px;
}

.blog-item__title-link {
    color: hsl(var(--heading-color));
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.blog-item__title-link:hover {
    color: hsl(var(--base));
}

.blog-item__desc {
    margin-bottom: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

@media screen and (max-width: 767px) {
    .blog-item__desc {
        margin-bottom: 15px;
    }
}

.blog-item .card-footer {
    border-top: 0;
    margin-top: 18px;
}

.blog-item .blog-time {
    color: hsl(var(--body-color));
}

.blog-item .blog-time__icon {
    margin-right: 5px;
}

.blog-item .card-body {
    padding-inline: 22px;
}

@media screen and (max-width: 767px) {
    .blog-item .card-body {
        padding-inline: 16px;
    }
}

@media screen and (max-width: 424px) {
    .blog-item .card-body {
        padding-inline: 10px;
        padding-block: 16px;
    }
}

.btn--simple {
    color: hsl(var(--body-color));
}

.btn--simple:hover {
    color: hsl(var(--base));
}

/* Text Border Bottom Animation Css Start */
.border-effect {
    display: inline !important;
    width: 100%;
    background-repeat: no-repeat;
    background-image: linear-gradient(transparent calc(100% - 1px),
            currentColor 1px);
    -webkit-transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    background-size: 0 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.border-effect:hover {
    background-image: linear-gradient(transparent calc(100% - 1px),
            currentColor 1px);
    background-size: 100% 100%;
}

/* Text Border Bottom Animation Css Ends */
/* ================================= Blog Section Css End Here ================================= */
/* ======================  Donors-section Section Start  ======================*/
.donors-section {
    position: relative;
    overflow: hidden;
    z-index: 0;
}

.donors-section .donors-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
}


.donors-section .template-table .table {
    --table-radius: 24px;
    background-color: hsl(var(--white));
    border-radius: 24px;
    -webkit-box-shadow: 0px 4px 20px 0px hsl(var(--black) / 0.07);
    box-shadow: 0px 4px 20px 0px hsl(var(--black) / 0.07);
}

.donors-section .template-table .table thead tr th {
    background-color: #212121;
    color: hsl(var(--white));
    padding: 15px 24px;
    font-size: 0.875rem;
    font-weight: 600;
    min-width: 170px;
}

.donors-section .template-table .table thead tr th:first-child {
    border-top-left-radius: var(--table-radius);
}

.donors-section .template-table .table thead tr th:last-child {
    border-top-right-radius: var(--table-radius);
}

.donors-section .template-table .table tbody tr:last-child td {
    border-bottom: transparent;
}

.donors-section .template-table .table tbody tr:last-child td:first-child {
    border-bottom-left-radius: var(--table-radius);
}

.donors-section .template-table .table tbody tr:last-child td:last-child {
    border-bottom-right-radius: var(--table-radius);
}

.donors-section .template-table .table tbody tr td {
    color: hsl(var(--body-color));
    border-color: hsl(var(--border-color));
    padding: 10px 24px;
}

@media screen and (max-width: 991px) {
    .donors-section .template-table .table tbody tr td {
        font-size: 0.875rem;
    }
}

.donors-section .template-table .table tbody tr td:first-child {
    color: hsl(var(--dark));
}

/* ======================  Donors-section Section End  ======================*/
/* ================================ Testimonials Section Css Start ============================= */
.testimonials-section {
    background-color: hsl(var(--black) / 0.025);
    position: relative;
    overflow: hidden;
}

.testimonials-section__thumb {
    margin-inline: auto;
    -webkit-mask-image: url(../images/thumbs/testimonial-mask.png);
    mask-image: url(../images/thumbs/testimonial-mask.png);
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;
    width: 100%;
    max-width: 570px;
}

@media screen and (max-width: 1199px) {
    .testimonials-section__thumb {
        display: none;
    }
}

.testimonials-section .testimonial-card {
    padding: 35px 56px;
    border-radius: 24px;
    background-color: hsl(var(--white));
    -webkit-box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    text-align: center;
    margin-bottom: 4px;
    height: calc(100% - 4px);

}

@media screen and (max-width: 1399px) {
    .testimonials-section .testimonial-card {
        padding: 20px 40px;
    }
}

@media screen and (max-width: 991px) {
    .testimonials-section .testimonial-card {
        padding-inline: 10px;
    }
}

.testimonials-section .testimonial-card__icon {
    color: hsl(var(--base));
    font-size: 2.8125rem;
}

.testimonials-section .testimonial-card__text {
    font-size: 1.25rem;
    font-weight: 600;
}

@media screen and (max-width: 991px) {
    .testimonials-section .testimonial-card__text {
        font-size: 1rem;
    }
}

.testimonials--overlay {
    position: absolute;
    inset: 0;
}

.testimonials--overlay .img-left {
    left: -257px;
    position: absolute;
    height: calc(100% + 323px);
    -webkit-transform: rotate(38deg);
    transform: rotate(38deg);
    bottom: 0;
}

@media screen and (max-width: 1399px) {
    .testimonials--overlay .img-left {
        left: -465px;
        -webkit-transform: rotate(38deg);
        transform: rotate(27deg);
        bottom: 74px;
    }
}

@media screen and (max-width: 424px) {
    .testimonials--overlay .img-left {
        display: none;
    }
}

.testimonials--overlay .img-right {
    -webkit-transform: rotate(143deg);
    transform: rotate(143deg);
    height: calc(100% + 120px);
    right: -330px;
    position: absolute;
}

@media screen and (max-width: 1399px) {
    .testimonials--overlay .img-right {
        height: calc(100% + 120px);
        right: -507px;
        -webkit-transform: rotate(150deg);
        transform: rotate(150deg);
    }
}

@media screen and (max-width: 767px) {
    .testimonials--overlay .img-right {
        -webkit-transform: rotate(190deg);
        transform: rotate(190deg);
    }
}

/* ================================ Testimonials Section Css End ============================= */
/* =============================== Brand Section Css Start ======================= */
.client--heading {
    font-weight: 600;
    font-size: 1.125rem;
    margin-bottom: 16px;
    color: hsl(var(--base-two));
}

.donation-count {
    --border: 1px solid hsl(var(--border-color));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.donation-count__list {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    padding: 20px 24px;
    background-color: hsl(var(--white));
    overflow: hidden;
}

@media screen and (max-width: 575px) {
    .donation-count__list {
        padding: 10px 12px;
    }
}

.donation-count__list:first-child {
    border-right: var(--border);
    border-bottom: var(--border);
}

.donation-count__list:nth-child(2) {
    border-bottom: var(--border);
}

.donation-count__list:nth-child(3) {
    border-right: var(--border);
}

.donation-count__number {
    margin-bottom: 2px;
}

.donation-count__text {
    font-size: 1.125rem;
    color: hsl(var(--dark));
}

.client-logos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 575px) {
    .client-logos {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 424px) {
    .client-logos {
        grid-template-columns: repeat(1, 1fr);
    }
}

.client-logo {
    --border-radius: 8px;
    background-color: hsl(var(--white));
    -webkit-box-shadow: 0 0 0 1px #e5e5e5;
    box-shadow: 0 0 0 1px #e5e5e5;
    text-align: center;
    padding-block: 35px;
    width: 100%;
}

@media screen and (max-width: 575px) {
    .client-logo {
        padding-block: 25px;
    }
}

.client-logo:first-child {
    border-top-left-radius: var(--border-radius);
}

.client-logo:last-child {
    border-bottom-right-radius: var(--border-radius);
}

@media screen and (min-width: 575px) {
    .client-logo:nth-child(3) {
        border-top-right-radius: var(--border-radius);
    }

    .client-logo:nth-last-child(3) {
        border-bottom-left-radius: var(--border-radius);
    }
}

@media screen and (max-width: 575px) {
    .client-logo:nth-child(2) {
        border-top-right-radius: var(--border-radius);
    }

    .client-logo:last-child {
        border-bottom-left-radius: var(--border-radius);
    }

    .client-logo:nth-last-child(2) {
        border-bottom-right-radius: var(--border-radius);
    }
}

@media screen and (max-width: 424px) {
    .client-logo:nth-child(2) {
        border-top-right-radius: 0px;
    }

    .client-logo:nth-last-child(2) {
        border-bottom-right-radius: 0px;
    }

    .client-logo:first-child {
        border-top-right-radius: var(--border-radius);
    }
}

.client-logo:hover {
    background-color: hsl(var(--base-two));
}

.client-logo img {
    height: 32px;
    -o-object-fit: cover;
    object-fit: cover;
}

.client-line {
    background-color: hsl(var(--border-color));
    margin-inline: auto;
    height: 100%;
    width: 1px;
}

@media screen and (max-width: 991px) {
    .client-line {
        height: 1px;
        width: 100%;
    }
}

/* =============================== Brand Section Css End ======================= */
/* ======================  Vision-mission Section Start  ======================*/
.vision-mission-section {
    background-color: hsl(var(--black) / 0.025);
}

.vision-mission-section .vision-mission__item {
    padding-bottom: 15px;
    display: flex;
}

.vision-mission-section .vision-mission__item:last-child {
    padding-bottom: 0;
}

.vision-mission-section .vision-mission__thumb {
    -webkit-mask-image: url(../images/thumbs/vision-mission-mask.png);
    mask-image: url(../images/thumbs/vision-mission-mask.png);
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;
    width: 100%;
}

.vision-mission-section .vision-mission__desc {
    font-weight: 500;
    margin-bottom: 30px;
}

@media screen and (max-width:768px) {
    .vision-mission-section .vision-mission__desc {
        font-size: 16px;
    }
}

/* ======================  Vision-mission Section End  ======================*/
.index-page {
    --banner-shape: #fff;
}

/* ======================  Campaigns page Start  ======================*/
/* ======================  Sidebar Start  ======================*/
.campaign-sidebar {
    background-color: #e5e5e5;
    border: 0;
}

@media screen and (max-width: 424px) {
    .campaign-sidebar {
        --bs-offcanvas-width: 310px;
    }
}

.campaign-sidebar__inner {
    overflow-y: auto;
    padding-inline: 0;
}

@media screen and (max-width: 1199px) {
    .campaign-sidebar__inner {
        padding: 20px;
    }
}

@media screen and (max-width: 424px) {
    .campaign-sidebar__inner {
        padding: 10px;
    }
}

.campaign-sidebar .offcanvas--close {
    position: absolute;
    top: 10px;
    left: -15px;
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: hsl(var(--black) / 0.6);
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--border-color));
    border-radius: 50%;
    z-index: 1;
    display: none;
}

@media screen and (max-width: 1199px) {
    .campaign-sidebar .offcanvas--close {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

.sidebar-card {
    --border-radius: 24px;
    border-radius: var(--border-radius);
    background-color: hsl(var(--white));
    -webkit-box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    margin-bottom: 32px;
}

@media screen and (min-width:1200px) {
    .sidebar-card {
        height: 100%;
    }
}

@media (max-width:991px) {
    .sidebar-card {
        --border-radius: 16px;
    }
}

.sidebar-card:last-child {
    margin-bottom: 0;
}

.sidebar-card__title {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    padding: 14px 23px;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0;
}

.sidebar-card__content {
    padding: 24px 23px;
}

@media screen and (max-width: 424px) {
    .sidebar-card__content {
        padding: 16px 10px 5px;
    }
}

.sidebar-card__radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.sidebar-card__radio .form-check-label {
    white-space: nowrap;
    font-size: 1rem;
    font-weight: 500;
    padding-left: 6px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.search-card .input--group {
    border: 1px solid hsl(var(--border-color));
    border-radius: 8px;
    padding: 0px;
}

.search-card .input--group .form--control {
    padding-block: 0px;
    padding-left: 11px;
}

.search-card .input--group .form--control::-webkit-input-placeholder {
    color: #757575;
}

.search-card .input--group .form--control::-moz-placeholder {
    color: #757575;
}

.search-card .input--group .form--control:-ms-input-placeholder {
    color: #757575;
}

.search-card .input--group .form--control::-ms-input-placeholder {
    color: #757575;
}

.search-card .input--group .form--control::placeholder {
    color: #757575;
}

.search-card .input--group .form--control :focus {
    background-color: transparent !important;
    margin: 0 !important;
    border: none !important;
    left: 0 !important;
}

.search-card .input--group .input-group-text {
    background-color: hsl(var(--black) / 0.075);
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    margin-right: 4px;
}

.search-card .input--group .input-group-text:hover {
    color: hsl(var(--base));
}

.search-card .input--group:focus-within {
    border-color: hsl(var(--base));
}

.criteria-card .form-check {
    height: 50px;
    border-radius: 8px;
    border: 1px solid hsl(var(--border-color));
    padding: 0 15px;
    margin-bottom: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 6px;
    cursor: pointer;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.criteria-card .form-check:hover {
    border-color: hsl(var(--base));
}

.criteria-card .form-check:has(.form-check-input:checked) {
    border-color: hsl(var(--base));
}

.criteria-card .form-check:has(.form-check-input:checked):hover {
    border-color: hsl(var(--base-d-200));
}

.criteria-card .form-check .form-check-input[type="radio"] {
    margin: 0;
    -webkit-box-shadow: unset !important;
    box-shadow: unset !important;
}

.criteria-card .form-check .form-check-label {
    padding-left: 5px;
}

.category-card .category-card__item {
    border-radius: 8px;
    border: 1px solid hsl(var(--border-color));
    padding: 10px 15px;
    margin-bottom: 16px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    gap: 6px;
    color: hsl(var(--black)/0.7);
}

.category-card .category-card__item:hover {
    border-color: hsl(var(--base));
    color: hsl(var(--base));
}

.category-card .category-card__item.active {
    border-color: hsl(var(--base));
}

.category-card .category-card__item.active:hover {
    border-color: hsl(var(--base-d-200));
}

.category-card .category-card__item.active .icon {
    color: hsl(var(--base));
}

.date-card .form-control {
    border: 1px solid hsl(var(--border-color));
    border-radius: 8px;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    height: 50px;
    background-color: transparent !important;
    padding: 10px 15px;
    color: hsl(var(--body-color));
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.date-card .form-control.active {
    border-color: hsl(var(--base));
    color: hsl(var(--black) / 0.8);
}

.date-card .form-control.active+.date-card__icon {
    color: hsl(var(--base));
}

.date-card__range {
    position: relative;
}

.date-card__icon {
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: pointer;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    color: hsl(var(--black) / 0.6);
}

.date-card__icon:hover {
    color: hsl(var(--base));
}

.flatpickr-day.selected {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base-d-200));
}

.flatpickr-day.selected:hover {
    background-color: hsl(var(--base-d-100));
}

.numInput,
.flatpickr-monthDropdown-months {
    font-size: 16px !important;
    font-weight: 500 !important;
}

.numInputWrapper {
    margin-left: 10px !important;
}

.numInputWrapper>span {
    display: none;
}

.filter-button {
    font-size: 22px;
    width: 48px;
    height: 48px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 8px;
    border: 1px solid hsl(var(--black) / 0.3);
    background-color: hsl(var(--white));
    margin-left: auto;
    cursor: pointer;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.filter-button:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.share-card__social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 12px;
}

.share-card__social-item,
.default-user {
    --size: 45px;
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 50%;
    background-color: hsl(var(--base) / 0.1);
    color: hsl(var(--base));
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    font-size: 24px;
}

.default-user img {
    border-radius: inherit;
}

.share-card__social-item:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.not-found-img {
    --size: 130px;
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: hsl(var(--base) / 0.1);
    border-radius: 50%;
    margin-inline: auto;
    margin-top: 20px;
}

/* ======================  Sidebar End  ======================*/
@media screen and (max-width: 424px) {
    .campaign-details-page .sidebar-card__content {
        padding: 10px;
    }
}

.campaign-details-page .sidebar-card .card-footer {
    row-gap: 10px;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .campaign-details-page .sidebar-card .card-footer {
        gap: 5px;
    }
}

@media screen and (max-width: 575px) {
    .campaign-details-page .sidebar-card .card-footer .ammount {
        font-size: 14px;
    }
}

@media screen and (max-width: 991px) and (min-width: 768px) {
    .campaign-details-page .sidebar-card__content {
        padding: 10px;
    }

    .campaign-details-page .sidebar-card__radio {
        gap: 5px;
    }

    .campaign-details-page .campaign-card .card-body {
        padding-top: 10px !important;
    }
}

.share-card .input-group-text {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    font-size: 20px;
    height: 40px;
}

.share-card .input-group-text:hover {
    background-color: hsl(var(--base-d-200));
}

/* ======================  Campaigns page End  ======================*/
/* ======================  Campaign-details Page Start  ======================*/
.campaign-details__thumb {
    border-radius: 8px;
    max-height: 550px;
    margin-bottom: 35px;
}

.campaign-details__thumb img {
    width: 100%;
    border-radius: inherit;
    -o-object-fit: cover;
    object-fit: cover;
    max-height: inherit;
}

.campaign-details__nav {
    overflow: auto;
}

.campaign-details__nav::-webkit-scrollbar {
    display: none;
}

.campaign-details__body .nav-pills {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 18px;
    margin-bottom: 32px;
    padding-bottom: 20px;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
}

@media screen and (max-width: 991px) {
    .campaign-details__body .nav-pills {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .campaign-details__body .nav-pills {
        margin-bottom: 15px;
    }
}

.campaign-details__body .nav-pills::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 2px;
    background-color: hsl(var(--border-color));
    z-index: -1;
}

.campaign-details__body .nav-pills .active-effect {
    position: absolute;
    left: 0;
    bottom: 0px;
    height: 2px;
    background-color: hsl(var(--base));
    -webkit-transition: all 0.23s;
    transition: all 0.23s;
}

.campaign-details__body .nav-item {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.campaign-details__body .nav-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    background-color: transparent;
    color: hsl(var(--dark) / 0.9);
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    padding: 0;
}

.campaign-details__body .nav-link .icon {
    font-size: 18px;
    line-height: 1;
}

.campaign-details__body .nav-link .text {
    line-height: 1;
}

.campaign-details__body .nav-link:hover {
    color: hsl(var(--black));
}

.campaign-details__body .nav-link.active {
    background-color: transparent;
    color: hsl(var(--base));
}

.campaign-card__continuos {
    border: 1px dashed hsl(var(--base));
    padding: 11px 17px;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    color: hsl(var(--base));
    margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
    .campaign-card__continuos {
        padding: 7px 12px;
    }
}

.campaign-card .card-body {
    padding: 24px 23px;
}

@media screen and (max-width: 424px) {
    .campaign-card .card-body {
        padding: 15px 10px 5px;
    }
}

.campaign-card .card-body .card-title {
    color: hsl(var(--dark));
    line-height: normal;
}

.campaign-card__number {
    margin-block: 4px;
}

.campaign-card .author-info {
    margin-block: 24px;
}

.campaign-card .card-footer {
    border-top: 1px solid hsl(var(--border-color));
    padding: 24px 23px;
    row-gap: 15px;
}

@media screen and (max-width: 424px) {
    .campaign-card .card-footer {
        padding: 0px 10px 5px;
    }
}

.campaign-description__title {
    font-size: clamp(1.125rem, 0.7268rem + 1.699vw, 2rem);
    margin-bottom: 34px;
}

@media screen and (max-width: 991px) {
    .campaign-description__title {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .campaign-description__title {
        margin-bottom: 15px;
    }
}

.campaign-images-gallery .campaign-images {
    border-radius: 8px;
    position: relative;
}

.campaign-images-gallery .campaign-images:hover .campaign-images__overlay {
    opacity: 1;
}

.campaign-images-gallery .campaign-images img {
    border-radius: inherit;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.campaign-images-gallery .campaign-images__overlay {
    border-radius: inherit;
    background-color: hsl(var(--black) / 0.5);
    position: absolute;
    inset: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

.campaign-images-gallery .campaign-images__overlay i {
    --size: 40px;
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: hsl(var(--white));
    border-radius: 50%;
    font-size: 32px;
    border: 1px solid hsl(var(--white));
}

.campaign-review__count {
    font-weight: 600;
    color: hsl(var(--dark));
    margin-bottom: 16px;
}

.campaign-review__item {
    --gap: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    border-bottom: 1px solid hsl(var(--border-color));
    padding-bottom: var(--gap);
    margin-bottom: var(--gap);
}

@media screen and (max-width: 991px) {
    .campaign-review__item {
        --gap: 10px;
    }
}

@media screen and (max-width: 424px) {
    .campaign-review__item {
        gap: 10px;
    }
}

.campaign-review__thumb {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

@media screen and (max-width: 424px) {
    .campaign-review__thumb {
        width: 30px;
        height: 30px;
    }
}

.campaign-review__thumb img {
    border-radius: inherit;
    width: 100%;
    height: 100%;
}

.campaign-review__info {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.campaign-review__name {
    margin-bottom: 0px;
    font-family: var(--body-font);
    font-weight: 600;
    font-size: 1rem;
    color: hsl(var(--dark));
}

.campaign-review__date {
    font-size: 0.875rem;
    margin-bottom: 3px;
}

.campaign-review__starts {
    color: hsl(var(--warning));
    margin-bottom: 12px;
    margin-bottom: 6px;
}

.campaign-review__input .title {
    color: hsl(var(--dark));
    font-family: var(--body-font);
}

.campaign-review__input .form--label {
    display: block;
    color: hsl(var(--dark));
}

.campaign-update__items {
    background-color: hsl(var(--white));
    border-radius: 8px;
    margin-bottom: 12px;
}

.campaign-update__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4px;
    padding: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid hsl(var(--black) / 0.1);
    color: hsl(var(--dark));
}

.campaign-update__body {
    padding: 12px;
    padding-top: 8px;
}

.campaign-update__body-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4px;
}

.campaign-update__body-text .icon {
    font-size: 16px;
    width: 18px;
    height: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 4px;
    background-color: hsl(var(--black) / 0.1);
    color: #828282;
    font-size: 12px;
}

.campaign-update__body-gallery {
    margin-top: 16px;
}

.campaign-update__body-gallery img {
    width: 155px;
    height: 105px;
    -o-object-fit: cover;
    object-fit: cover;
}

.campaign-update__body .slick-arrow {
    width: 25px;
    height: 25px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    font-size: 12px;
}

.campaign-update__body .slick-arrow.slick-disabled {
    background-color: hsl(var(--white));
    color: hsl(var(--dark));
}

.campaign-update__body .slick-arrow.slick-prev {
    left: 15px !important;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.campaign-update__body .slick-arrow.slick-next {
    right: 15px !important;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

/* ======================  Campaign-details Page End  ======================*/
/* ======================  New-volunteer page Start  ======================*/
.new-volunteers__form {
    --padding: 25px;
    background-color: hsl(var(--white));
    padding: var(--padding);
    border-radius: 24px;
}

@media screen and (max-width: 767px) {
    .new-volunteers__form {
        --padding: 15px;
    }
}

.new-volunteers__form .form-group .input-group {
    border: 1px solid hsl(var(--border-color));
    border-radius: 8px;
}

.new-volunteers__form .form-group .input-group:focus-within {
    border-color: hsl(var(--base));
}

.new-volunteers__form .form-group .input-group .form--control {
    border: 1px solid transparent;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    padding-left: 10px;
    padding-block: 13px;
}

.new-volunteers__form .form-group .input-group .input-group-text {
    border: 1px solid transparent;
    border-radius: 8px !important;
    line-height: 1;
    margin: 4px 0 4px 4px;
    background-color: #f8f8f8;
    color: hsl(var(--body-color));
}

.new-volunteers__form .form-group .input-group .input-group-text i {
    font-size: 22px;
}

.new-volunteers__form .user-thumb {
    position: relative;
    height: 77px;
    width: 100%;
}

.new-volunteers__form .user-thumb__label {
    position: absolute;
    width: 110px;
    height: 110px;
    bottom: calc(100% - 40px);
    border-radius: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    outline: 10px solid #f8f8f8;
}

.new-volunteers__form .user-thumb__label .volunteer-thumb {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 50%;
    display: block;
    background-color: #d9d9d9;
}

.new-volunteers__form .user-thumb__label .volunteer-thumb img {
    margin-top: 20px;
}

.new-volunteers__form .user-thumb__label .user-thumb__upload {
    position: absolute;
    bottom: 0;
    left: 80%;
    z-index: 1;
}

.new-volunteers__form .user-thumb__label .user-thumb__upload {
    width: 30px;
    height: 30px;
    background-color: hsl(var(--base));
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: hsl(var(--white));
    outline: 3px solid #f8f8f8;
}

/* ======================  New-volunteer page End  ======================*/
/* ======================  Contact Page Start  ======================*/
.address-card-wrapper {
    --gap: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: var(--gap);
}

.address-card {
    background-color: hsl(var(--white));
    padding: 24px;
    border-radius: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
}

@media screen and (max-width: 991px) {
    .address-card {
        padding: 18px;
    }
}

.address-card__thumb {
    --size: 60px;
    width: var(--size);
    height: var(--size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 100%;
    background-color: hsl(var(--base) / 0.15);
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.address-card__info {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.address-card__desc a {
    color: hsl(var(--body-color));
    transition: all 0.3s;
}

.address-card__desc a:hover {
    color: hsl(var(--base));
}

.address-card__title {
    font-size: clamp(1.125rem, 1.0681rem + 0.2427vw, 1.25rem);
    font-weight: 700;
    margin-bottom: 8px;
}

.contact-page .contact-thumb {
    text-align: right;
}

.contact-page .whatsapp-contact {
    padding: 18px 35px;
    border: 1px solid hsl(var(--base));
    border-radius: 100px;
    background-color: hsl(var(--base) / 0.15);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 18px;
    margin-top: 31px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

@media screen and (max-width: 767px) {
    .contact-page .whatsapp-contact {
        padding: 10px 25px;
    }
}

.contact-page .whatsapp-contact:hover {
    background-color: hsl(var(--base) / 0.2);
}

.contact-page .whatsapp-contact__icon {
    color: hsl(var(--base));
    font-size: 60px;
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .contact-page .whatsapp-contact__icon {
        font-size: 40px;
    }
}

.contact-page .whatsapp-contact__text {
    color: hsl(var(--base));
    font-weight: 700;
    font-family: var(--heading-font);
    font-size: 30px;
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .contact-page .whatsapp-contact__text {
        font-size: 20px;
    }
}

.contact-page .contact-thumb {
    position: relative;
    height: 100%;
}

.contact-page .contact-thumb img {
    position: absolute;
    height: 100%;
    right: 0;
    bottom: 0;
}

.contact-page__map {
    position: relative;
    z-index: 1;
}

.contact-page__map .section-overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: -1;
}

.contact-page__map .section-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: hsl(var(--dark) / 0.6);
}

.contact-page__map .section-overlay img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.contact-page__map .contact-form {
    background-color: hsl(var(--white));
}

.contact-page__content {
    padding: 40px;
}

@media screen and (max-width: 1199px) {
    .contact-page__content {
        padding: 20px;
    }
}

@media screen and (max-width: 575px) {
    .contact-page__content {
        padding: 20px 10px;
    }
}

.contact-page__content .consultation-btn {
    margin-top: 25px;
    width: 100%;
}

.contact-page__title {
    font-size: clamp(1.875rem, 1.4483rem + 1.8204vw, 2.8125rem);
}

.contact-page .brand-logo-wrapper .client-logos {
    border-radius: 8px !important;
    border: 1px solid hsl(var(--border-color));
    overflow: hidden;
    grid-template-columns: repeat(6, 1fr);
}

@media screen and (max-width: 1399px) {
    .contact-page .brand-logo-wrapper .client-logos {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .contact-page .brand-logo-wrapper .client-logos {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 575px) {
    .contact-page .brand-logo-wrapper .client-logos {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 424px) {
    .contact-page .brand-logo-wrapper .client-logos {
        grid-template-columns: repeat(1, 1fr);
    }
}

.contact-page .brand-logo-wrapper .client-logos .client-logo {
    border-radius: 0;
}

.contact-page .brand-logo-wrapper .client-logos .client-logo:hover {
    background-color: hsl(var(--base));
}

/* ======================  Contact Page End  ======================*/
/* =========================================== Account Css Start =========================*/
.registration-page {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    z-index: 0;
}

.account {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    z-index: 0;
}

.account-overlay {
    position: absolute;
    inset: 0;
}

.account-overlay__top {
    position: absolute;
    top: -27px;
    right: 0;
    z-index: 1;
}

.account-overlay__bottom {
    position: absolute;
    bottom: 0px;
    left: 0;
    z-index: 1;
}

.account-overlay__play {
    position: absolute;
    top: 60%;
    left: 80%;
    -webkit-animation: rotation 3s ease infinite;
    animation: rotation 3s ease infinite;
}

.account-overlay__charity {
    position: absolute;
    top: 20%;
    left: 10%;
    -webkit-animation: bounce 4s ease infinite;
    animation: bounce 4s ease infinite;
}

@-webkit-keyframes rotation {

    40%,
    60% {
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg);
    }

    50% {
        -webkit-transform: rotate(20deg);
        transform: rotate(20deg);
    }

    70% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@keyframes rotation {

    40%,
    60% {
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg);
    }

    50% {
        -webkit-transform: rotate(20deg);
        transform: rotate(20deg);
    }

    70% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@-webkit-keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    40% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }

    60% {
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px);
    }
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    40% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }

    60% {
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px);
    }
}

.account-inner {
    position: relative;
}

.account-form {
    background-color: hsl(var(--white));
    border-radius: 10px;
    max-width: 560px;
    margin-inline: auto;
    border-radius: 24px;
    position: relative;
    z-index: 1;
}

.account-form::before {
    z-index: -1;
    content: "";
    position: absolute;
    width: 280px;
    height: 90px;
    left: 0;
    top: 0;
    border-top-left-radius: 24px;
    background: linear-gradient(20deg, hsl(var(--white)), rgba(255, 0, 0, 0) 50%),
        linear-gradient(144deg, hsl(var(--base)), rgba(0, 255, 0, 0) 70%);
}

.account-form::after {
    z-index: -1;
    content: "";
    position: absolute;
    inset: 0;
    left: 2px;
    top: 2px;
    border-radius: inherit;
    background: #fff;
}

.account-form .form--control {
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

.account-form__content {
    text-align: center;
}

.account-form__inner {
    border-radius: inherit;
    -webkit-box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    box-shadow: 0px 4px 0px 0px hsl(var(--base) / 0.15);
    padding: 55px 45px;
}

@media screen and (max-width: 1199px) {
    .account-form__inner {
        padding: 45px 35px;
    }
}

@media screen and (max-width: 991px) {
    .account-form__inner {
        padding: 35px 25px;
    }
}

@media screen and (max-width: 767px) {
    .account-form__inner {
        padding: 30px 20px;
    }
}

@media screen and (max-width: 424px) {
    .account-form__inner {
        padding: 30px 15px;
    }
}

.account-form__title {
    font-family: var(--body-font);
    font-weight: 600;
    font-size: 26px;
    margin-bottom: 10px;
}

.account-form__desc {
    color: rgba(117, 117, 117, 0.6);
    font-size: 0.875rem;
    font-weight: 500;
}

.account-form__social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    row-gap: 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.account-form__social-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    padding: 8px 16px;
    border: 1px solid hsl(var(--black) / 0.1);
    color: hsl(var(--body-color));
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 14px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.account-form__social-link:hover {
    color: hsl(var(--body-color));
    border-color: hsl(var(--color));
    background-color: hsl(var(--color) / 0.08);
}

.account-form__social-text {
    color: rgba(var(--black), 0.6);
    font-size: 1.125rem;
    font-weight: 600;
    display: block;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    text-align: center;
    position: relative;
    margin-bottom: 20px;
}

.account-form__social-text::before,
.account-form__social-text::after {
    content: "";
    position: absolute;
    top: 50%;
    width: calc(50% - 30px);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border: 1px dashed hsl(var(--black) / 0.2);
}

.account-form__social-text::before {
    left: 0;
}

.account-form__social-text::after {
    right: 0;
}

/* ============================================ Account Css End ====================================*/
/* =========================================== Blog Details Css Start ==============================*/
.blog-details {
    border-radius: 8px;
    overflow: hidden;
    height: 100%;
    -webkit-box-shadow: 0px 2px 15px hsl(var(--white) / 0.25);
    box-shadow: 0px 2px 15px hsl(var(--white) / 0.25);
}

.blog-details__thumb img {
    border-radius: 16px;
}

.blog-details__content {
    padding: 35px 25px;
}

@media screen and (max-width: 767px) {
    .blog-details__content {
        padding: 30px 20px;
    }
}

@media screen and (max-width: 575px) {
    .blog-details__content {
        padding: 25px 15px;
    }
}

.blog-details__title {
    margin-top: 20px;
    margin-bottom: 15px;
}

.blog-details__desc {
    margin-bottom: 15px;
}

.blog-details .social-list__link {
    border: 1px solid hsl(var(--black) / 0.1);
    color: hsl(var(--body-color));
}

.blog-details .social-list__link:hover {
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

.quote-text {
    background-color: hsl(var(--base) / 0.1);
    padding: 30px 20px;
    border-radius: 5px;
    border-left: 3px solid hsl(var(--base));
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .quote-text {
        padding: 25px 15px;
    }
}

/* ========================================== Blog Details Css End ======================================*/
/* ======================  Dashboard Start  ======================*/
.dashboard-sidebar {
    padding: 32px 16px 24px;
    border-width: 0;
}

@media screen and (max-width: 767px) {
    .dashboard-sidebar {
        padding: 16px 10px 16px;
    }
}

.dashboard-sidebar .sidebar-profile {
    gap: 16px;
    row-gap: 10px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid hsl(var(--border-color));
}

@media screen and (max-width: 991px) {
    .dashboard-sidebar .sidebar-profile {
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
}

.dashboard-sidebar .sidebar-profile__thumb {
    --size: 80px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
}

.dashboard-sidebar .sidebar-profile__thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: inherit;
    border: 1px solid hsl(var(--border-color));
}

.dashboard-sidebar .sidebar-profile__info {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.dashboard-sidebar .sidebar-profile__name {
    margin-bottom: 4px;
}

.dashboard-sidebar .sidebar-profile__email {
    margin-bottom: 9px;
    color: hsl(var(--body-color));
    font-weight: 500;
    font-size: 14px;
}

.dashboard-sidebar .sidebar-profile__btn {
    padding: 10px 12px;
    font-size: 12px;
    border-radius: 5px;
}

.dashboard-sidebar .sidebar-profile__btn .icon {
    margin-right: 4px;
}

.dashboard-sidebar .sidebar-menu__item {
    margin-bottom: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 8px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: hsl(var(--body-color));
    background-color: hsl(var(--base) / 0.1);
    background-color: #f1fcf5;
    transition: all 0.3s ease;
}

@media screen and (max-width: 991px) {
    .dashboard-sidebar .sidebar-menu__item {
        padding: 8px 12px;
    }
}

.dashboard-sidebar .sidebar-menu__item .icon {
    width: 24px;
}

.dashboard-sidebar .sidebar-menu__item:last-child {
    margin-bottom: 0;
}

.dashboard-sidebar .sidebar-menu__item:hover {
    background-color: hsl(var(--base) / 0.16);
    color: hsl(var(--black) / 0.6);
}

.dashboard-sidebar .sidebar-menu__item.active {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.dashboard-sidebar .active>.sidebar-menu__item {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.dashboard-content {
    padding: 32px 16px 24px;
}

.dashboard-widget {
    padding: 10px;
    width: 100%;
    border-radius: 16px;
    background-color: hsl(var(--white));
    -webkit-box-shadow: -4px 8px 24px 0 hsla(214, 33%, 26%, 0.02);
    box-shadow: -4px 8px 24px 0 hsla(214, 33%, 26%, 0.02);
    height: 100%;
    transition: all 0.3s;
}

a.dashboard-widget:hover {
    box-shadow: -4px 8px 24px 0 hsla(214, 33%, 26%, 0.1);
}

.dashboard-widget__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 10px;
}

.dashboard-widget__title {
    padding-top: 20px;
    margin-bottom: 4px;
}

.dashboard-widget__text {
    font-weight: 700;
    padding-left: 10px;
    margin-bottom: 15px;
    color: hsl(var(--body-color));
}

@media screen and (max-width: 767px) {
    .dashboard-widget__text {
        font-size: 14px;
    }
}

.dashboard-widget__icon {
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background-color: hsl(var(--base) / 0.15);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: hsl(var(--base));
    font-size: 1.3125rem;
}

.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(1) .dashboard-widget__icon {
    background-color: hsl(var(--base) / 0.16);
    color: hsl(var(--base));
}

.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(2) .dashboard-widget__icon {
    background-color: hsl(var(--info) / 0.09);
    color: hsl(var(--info));
}


.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(3) .dashboard-widget__icon {
    background-color: hsl(var(--success) / 0.08);
    color: hsl(var(--success));
}


.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(4) .dashboard-widget__icon {
    background-color: hsl(var(--danger) / 0.08);
    color: hsl(var(--danger));
}

.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(5) .dashboard-widget__icon {
    background-color: hsl(var(--warning) / 0.08);
    color: hsl(var(--warning));
}

.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(6) .dashboard-widget__icon {
    background-color: hsl(var(--secondary) / 0.08);
    color: hsl(var(--secondary));
}

.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(7) .dashboard-widget__icon {
    background-color: hsl(var(--primary) / 0.08);
    color: hsl(var(--primary));
}

.dashboard .dashboard-widget-wrapper div[class*="col"]:nth-child(8) .dashboard-widget__icon {
    background-color: hsl(var(--base) / 0.08);
    color: hsl(var(--base));
}


.transaction-details__item {
    --icon-size: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.transaction-details__item:not(:last-child) {
    border-bottom: 1px solid hsl(var(--border-color));
    padding-bottom: 10px;
    margin-bottom: 8px;
}

.transaction-details__icon {
    width: var(--icon-size);
}

.transaction-details__content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.transaction-details__title {
    font-weight: 600;
    color: hsl(var(--black));
    display: block;
}

.transaction-details__value {
    color: hsl(var(--body-color));
    font-weight: 500;
    font-size: 0.875rem;
}

/* ======================  Dashboard End  ======================*/
/* ======================  profile-settings Start  ======================*/
.dashboard-tab {
    padding: 24px;
}

@media screen and (max-width: 991px) {
    .dashboard-tab {
        padding: 16px;
    }
}

@media screen and (max-width: 767px) {
    .dashboard-tab {
        padding: 12px;
    }
}

.dashboard-tab .dashboard-tab__header {
    margin-bottom: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
    gap: 16px;
    row-gap: 10px;
}

.dashboard-tab .header-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.dashboard-tab .header-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: hsl(var(--black));
    color: hsl(var(--white));
    padding: 8px 10px;
    border-radius: 8px;
    gap: 6px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.dashboard-tab .header-btn:hover {
    background-color: hsl(var(--black) / 0.8);
}

.dashboard-tab__item {
    border-radius: 20px 20px 0 0;
    padding: 8px 15px;
    border-bottom: 1px solid hsl(var(--border-color));
    color: hsl(var(--body-color));
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1rem;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.dashboard-tab__item:hover {
    color: hsl(var(--base));
    border-bottom: 1px solid hsl(var(--base));
}

@media screen and (max-width: 767px) {
    .dashboard-tab__item {
        font-size: 0.875rem;
    }

    .dashboard-tab__item .icon {
        display: none;
    }
}

@media screen and (max-width: 575px) {
    .dashboard-tab__item .text {
        white-space: nowrap;
    }

    .dashboard-tab .header-content {
        overflow: hidden;
        overflow-x: auto;
    }
}

.dashboard-tab__item .icon {
    margin-right: 3px;
}

.dashboard-tab__item.active {
    color: hsl(var(--white));
    border-bottom: 1px solid hsl(var(--base));
    background-color: hsl(var(--base));
}

.dashboard-tab__body .title {
    color: #212121;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 9px;
}

.thumb-upload.dragover .thumb-upload__label {
    border-style: solid;
    background-color: hsl(var(--base) / 0.1);
}

.thumb-upload__label {
    cursor: pointer;
    border: 2px dashed hsl(var(--base));
    width: 100%;
    border-radius: 8px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 210px;
    padding: 5px;
    position: relative;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.thumb-upload__label .icon {
    --size: 35px;
    width: var(--size);
    height: var(--size);
    font-size: 0.875rem;
    position: absolute;
    right: 10px;
    top: calc(100% - var(--size) / 2);
    border: 3px solid hsl(var(--white));
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.thumb-upload__text {
    font-size: 0.875rem;
    color: hsl(var(--body-color));
}

.thumb-upload .preview {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-color: rgb(242, 242, 242);
    border-radius: inherit;
}

.thumb-upload.profile-thumb {
    max-width: 210px;
}

@media screen and (max-width: 767px) {
    .thumb-upload.banner-thumb .thumb-upload__label {
        height: clamp(5rem, -2.7529rem + 33.0789vw, 13.125rem);
    }
}

.enable-2fa {
    border: 1px solid hsl(var(--border-color));
    padding: 24px;
    border-radius: 8px;
}

@media screen and (max-width: 991px) {
    .enable-2fa {
        padding: 16px;
    }
}

@media screen and (max-width: 767px) {
    .enable-2fa {
        padding: 10px;
    }
}

.qr-hr {
    margin-block: 30px;
}

@media screen and (max-width: 991px) {
    .qr-hr {
        margin-block: 20px;
    }
}

@media screen and (max-width: 767px) {
    .qr-hr {
        margin-block: 15px;
    }
}

/* ======================  profile-settings End  ======================*/
/* ======================  User-details Start  ======================*/
.user-details__banner {
    border-radius: 10px;
    position: relative;
}

.user-details__banner img {
    border-radius: inherit;
}

.user-details__banner::after {
    border-radius: inherit;
    content: "";
    position: absolute;
    inset: 0;
    background-color: hsl(var(--black) / 0.3);
    border-radius: inherit;
}

.user-details__header {
    --thumb-size: 120px;
    margin-left: calc(var(--thumb-size) + 77px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    padding-block: 5px 25px;
}

@media screen and (max-width: 991px) {
    .user-details__header {
        --thumb-size: 100px;
        margin-left: calc(var(--thumb-size) + 20px);
    }
}

@media screen and (max-width: 767px) {
    .user-details__header {
        --thumb-size: 80px;
        margin-left: calc(var(--thumb-size) + 15px);
    }
}

@media screen and (max-width: 575px) {
    .user-details__header {
        margin-left: 0;
    }
}

.user-details__thumb {
    position: absolute;
    left: calc(var(--thumb-size) * -1);
    top: calc(var(--thumb-size) * 0.5 * -1);
    width: var(--thumb-size);
    height: var(--thumb-size);
    border-radius: 50%;
    outline: 6px solid hsl(var(--white));
}

@media screen and (max-width: 575px) {
    .user-details__thumb {
        left: calc(var(--thumb-size) * 0.5);
    }
}

.user-details__thumb img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    -o-object-fit: cover;
    object-fit: cover;
}

.user-details__info {
    padding-left: 15px;
    padding-top: 15px;
}

@media screen and (max-width: 575px) {
    .user-details__info {
        padding-left: 0px;
        padding-top: 45px;
    }
}

.user-details__name {
    font-family: hsl(var(--body-font));
    font-size: 24px;
    font-weight: 600;
    color: #212121;
    margin-bottom: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 991px) {
    .user-details__name {
        font-size: 20px;
        margin-bottom: 5px;
    }
}

.user-details__name .icon {
    margin-right: 5px;
}

.user-details__joined {
    color: hsl(var(--body-color));
    font-weight: 400;
}

.user-details__joined .icon {
    margin-right: 5px;
}

.user-details__share {
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.user-details__share .profile-share-btn {
    --size: 36px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.user-details__menu {
    margin-bottom: 40px;
    border-block: 1px solid hsl(var(--border-color));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px;
    row-gap: 0px;
}

.user-details__menu-list {
    padding-block: 12px;
    color: hsl(var(--body-color));
    -webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
    font-size: 1rem;
    font-weight: 500;
}

.user-details__menu-list:hover {
    color: hsl(var(--base));
}

.user-details__menu-list .icon {
    margin-right: 4px;
}

.user-details__menu-list.active {
    color: hsl(var(--base));
    -webkit-box-shadow: 0 1px 0 0 hsl(var(--base));
    box-shadow: 0 1px 0 0 hsl(var(--base));
}

.user-contact {
    position: sticky;
    top: 100px;
}

@media screen and (max-width: 1199px) {
    .user-contact {
        top: 85px;
    }
}

.user-contact__title {
    padding: 12px 24px;
    border-bottom: 1px solid hsl(var(--border-color));
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .user-contact__title {
        padding: 12px 16px;
    }
}

.user-contact__list {
    padding: 12px 24px 24px;
}

@media screen and (max-width: 767px) {
    .user-contact__list {
        padding: 12px 16px 24px;
    }
}

.user-contact__item {
    --icon-size: 48px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 10px;
}

.user-contact__item:not(:last-child) {
    margin-bottom: 14px;
}

@media screen and (max-width: 767px) {
    .user-contact__item {
        --icon-size: 35px;
    }

    .user-contact__item:not(:last-child) {
        margin-bottom: 10px;
    }
}

.user-contact__item .icon {
    width: var(--icon-size);
    height: var(--icon-size);
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: hsl(var(--base) / 0.15);
    border-radius: 50%;
    color: #4a4b57;
}

@media screen and (max-width: 767px) {
    .user-contact__item .icon {
        font-size: 1rem;
    }
}

.user-contact__item-info .title {
    font-size: 1.125rem;
    font-weight: 500;
    color: hsl(var(--dark));
    display: block;
}

.user-contact__item-info .text {
    font-size: 1rem;
    font-weight: 400;
    color: hsl(var(--body-color));
}

/* ======================  User-details End  ======================*/
/*# sourceMappingURL=main.css.map */

label.required:after {
    content: "*";
    color: hsl(var(--danger)) !important;
    margin-left: 2px;
}

.form-control {
    box-shadow: unset !important;
}

.nav-link .active {
    color: hsl(var(--base) / 0.1) !important;
}

.days-left>span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1359px) {

    .day,
    .minute,
    .hour,
    .sec {
        width: 50px;
        height: 50px;
    }

    .days-left>span {
        font-size: 0.875rem;
    }
}

@media (max-width: 1199px) {

    .day,
    .minute,
    .hour,
    .sec {
        width: 44px;
        height: 44px;
    }

    .days-left>span {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 420px) {

    .day,
    .minute,
    .hour,
    .sec {
        width: 50px;
        height: 50px;
    }

    .days-left>span {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 374px) {

    .day,
    .minute,
    .hour,
    .sec {
        width: 40px;
        height: 40px;
    }

    .days-left>span {
        font-size: 12px;
    }
}

@media screen and (max-width: 320px) {

    .day,
    .minute,
    .hour,
    .sec {
        width: 40px;
        height: 40px;
    }

    .days-left>span {
        font-size: 12px;
    }
}

.vision-mission-section {
    --mission-section-gap: 60px;
}

.vision-mission-section+.vision-mission-section {
    padding-top: var(--mission-section-gap);
}

.vision-mission-section:has(+ .vision-mission-section) {
    padding-bottom: var(--mission-section-gap);
}

@media screen and (max-width: 991px) {
    .vision-mission-section {
        --mission-section-gap: 40px;
    }
}

@media screen and (max-width: 575px) {
    .vision-mission-section {
        --mission-section-gap: 30px;
    }
}

/* ================================= Comment Css Start =========================== */
.comment-list__item:last-child .comment-list__content {
    border-bottom: none;
}

.comment-list__thumb {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .comment-list__thumb {
        width: 60px;
        height: 60px;
    }
}

.comment-list__content {
    width: calc(100% - 80px);
    padding-left: 15px;
    border-bottom: 1px solid hsl(var(--black) / 0.1);
    padding-bottom: 30px;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .comment-list__content {
        width: calc(100% - 60px);
        padding-bottom: 25px;
        margin-bottom: 25px;
    }
}

@media screen and (max-width: 575px) {
    .comment-list__content {
        padding-bottom: 20px;
        margin-bottom: 20px;
        width: 100%;
        padding-left: 0;
        margin-top: 15px;
    }
}

.comment-list__name {
    margin-bottom: 5px;
    color: hsl(var(--black));
}

.comment-list__time {
    margin-bottom: 15px;
}

.comment-list__time-icon {
    color: hsl(var(--base));
    font-size: 0.9375rem;
    margin-right: 5px;
}

.comment-list__reply {
    margin-top: 10px;
    display: inline-block;
}

.comment-list__reply-text {
    color: hsl(var(--black));
    font-weight: 400;
}

.comment-list__reply:hover .comment-list__reply-icon {
    color: hsl(var(--base));
}

.comment-list__reply-icon {
    font-size: 0.875rem;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    margin-left: 5px;
}

@media screen and (max-width: 767px) {
    .comment-list__reply-icon {
        font-size: 0.75rem;
    }
}

.comment-list .comment-list {
    margin-left: 70px;
}

.comment-list .comment-list.style-right .comment-list__item:last-child .comment-list__content {
    border-bottom: 1px solid hsl(var(--black) / 0.1);
}

@media screen and (max-width: 575px) {
    .comment-list .comment-list {
        margin-left: 40px;
    }
}

.dropdown--menu .dropdown-item {
    border-radius: 5px;
}

.dropdown--menu .dropdown-item:not(&:active):hover {
    background-color: hsl(var(--base) / 0.1);
}

.dropdown--menu .dropdown-item:active {
    background-color: hsl(var(--base));
}

/* ================================= Comment Css End =========================== */

.cursor-pointer {
    cursor: pointer;
}

.overflow-y-auto {
    overflow-y: auto !important;
}

.inset-0 {
    inset: 0;
}

.custom-country .custom--select2+.select2-container {
    border: 0;
    height: 48px;
}

.flatpickr-calendar {
    right: 0 !important;
}



/* ================================= Tab Css Start =========================== */
.custom--tab {
    background: hsl(var(--border-color)/0.35);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;

    border-radius: 0;
    margin-bottom: 30px;
}

.custom--tab .nav-item {
    border-bottom: 0;
}

.custom--tab .nav-item .nav-link {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1;
    padding: 11px 16px;
    color: hsl(var(--heading-color));
    background-color: transparent !important;
    border-radius: 3px;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    border: 0;
}

@media screen and (max-width: 1199px) {
    .custom--tab .nav-item .nav-link {
        font-size: 0.875rem;
        padding: 10px 15px;
    }
}

@media screen and (max-width: 575px) {
    .custom--tab .nav-item .nav-link {
        padding: 9px 10px;
    }
}

@media screen and (max-width: 424px) {
    .custom--tab .nav-item .nav-link {
        font-size: 0.8125rem;
        padding: 9px;
    }
}

.custom--tab .nav-item .nav-link.active {
    color: hsl(var(--white));
    background-color: hsl(var(--base-d-200)) !important;
}

.custom--tab .nav-item .nav-link.active:hover {
    color: hsl(var(--white));
}

.custom--tab .nav-item .nav-link:hover {
    color: hsl(var(--base));
}

.custom--tab.two {
    background: transparent;
    border-bottom: 1px solid hsl(var(--border-color));
}

.custom--tab.two .nav-item .nav-link {
    position: relative;
}

.custom--tab.two .nav-item .nav-link::after {
    position: absolute;
    content: "";
    background: hsl(var(--base));
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.15s linear;
    transition: 0.15s linear;
}

.custom--tab.two .nav-item .nav-link.active {
    color: hsl(var(--base));
    background: transparent !important;
}

.custom--tab.two .nav-item .nav-link.active::after {
    visibility: visible;
    opacity: 1;
}

.custom--tab.two .nav-item .nav-link.active:hover::after {
    background: hsl(var(--base));
}

.custom--tab.two .nav-item .nav-link:hover::after {
    visibility: visible;
    opacity: 1;
    background: hsl(var(--base)/0.15);
}

.testimonial-card--list .slick-slide>div {
    height: 100% !important;
}


.custom--card.has-table {
    box-shadow: none;
}

.d-flex.justify-items-center.justify-content-between:has(.pagination) {
    margin-top: 40px;
}

@media (max-width: 1199px) {
    .d-flex.justify-items-center.justify-content-between:has(.pagination) {
        margin-top: 32px;
    }
}

@media (max-width: 767px) {
    .d-flex.justify-items-center.justify-content-between:has(.pagination) {
        margin-top: 24px;
    }
}

.gallery-card:has(.gallery-edit-btn) {
    position: relative;
    overflow: hidden;
    border: 1px solid hsl(var(--border-color));
    border-radius: 12px;
}

.gallery-edit-btn {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 6px;
    width: 100%;
    background-color: hsl(var(--black) / .3);
    backdrop-filter: blur(3px);
    color: hsl(var(--white));
}

.clear-btn {
    padding: 10px;
    border: 1px solid hsl(var(--danger));
    border-radius: 0 8px 8px 0;
    background-color: hsl(var(--danger));
    color: hsl(var(--white));
}

.sidebar-card__content .datepicker {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}


/* top donation design start here */

.top-donor-item {
    background-color: hsl(var(--base) / 0.06);
    padding: 20px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    height: 100%;
    border: 1px solid hsl(var(--base) / 0.06);
}

@media screen and (max-width: 767px) {
    .top-donor-item {
        padding: 20px 15px;
    }
}



.top-donor-item__name {
    margin-bottom: 5px;
    color: rgb(0 0 0 / 85%);
    font-weight: 600;
}

.top-donor-item__amount {
    font-size: 0.875rem;
    font-weight: 600;
}

.top-donor-item__position {
    background-color: hsl(var(--base));
    width: 50px;
    height: 50px;
    left: 0;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    border-radius: 50%;
    color: #fff;
    font-size: 0.875rem;
    border: 1px solid transparent;
    transition: .3s linear;
    flex-shrink: 0;
    margin-bottom: 0px;
    font-weight: 600;
}


.top-donor-item__content {
    width: calc(100% - 5px);
    padding-left: 15px;
}

.top-donor-item:hover .top-donor-item__position {
    color: hsl(var(--base));
    background-color: #fff;
    border: 1px solid #ddd;
}

@media screen and (max-width: 575px) {
    .top-donor-item__position {
        width: 40px;
        height: 40px;
        font-size: 0.75rem;
    }

    .top-donor-item__amount {
        font-size: 0.75rem;
    }

    .top-donor-item__content {
        padding-left: 8px !important;
    }
}

/* top donation design end here */



/* Categories slider design start here  */

/* Category Css Start  */
.category-card {
    border-radius: 12px;
    overflow: hidden;
}

@media (max-width: 991px) {

    .category-card {
        margin: 0px 10px;
    }
}

@media (max-width: 575px) {

    .category-card__thumb {
        max-height: 170px;
    }
}

@media (max-width: 479px) {
    .category-card__thumb {
        max-height: 170px;
    }
}

@media only screen and (max-width: 575px) and (min-width: 480px) {
    .col-xsm-6 {
        width: 50%;
    }
}

/* category-section css start */
.category-card-item {
    margin: 20px 0px;
    border-radius: 12px;
    overflow: hidden;
}

.category-card-item::after {
    position: absolute;
    content: '';
    width: 90%;
    height: 90%;
    top: 5%;
    left: 5%;
    border: 5px solid rgba(255, 255, 255, 0.15);
}

.category-card-item__content {
    padding: 30px 30px 30px 40px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.category-card-item__content .title {
    font-size: 22px;
    text-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    font-weight: 600;
    margin-bottom: 0px;
}

@media (max-width: 991px) {
    .category-card-item__content .title {
        font-size: 18px;
    }
}


.sidebar .categories__list .categories__item .active {
    background-color: hsl(var(--base)/0.7) !important;
    color: #ffffff !important;
}

.sidebar .categories__list .categories__item .active:hover {
    background-color: hsl(var(--base)) !important;
    color: #ffffff !important;
}

.sidebar .archive__list .archive__item .active {
    color: hsl(var(--base)) !important;
}

.has-link .item-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hover--effect-1 {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.hover--effect-1:hover {
    -webkit-transform: translateY(-1px) scale(1.05);
    -ms-transform: translateY(-1px) scale(1.05);
    transform: translateY(-1px) scale(1.05);
}


/* Category Css End */

.overlay--one::before,
.overlay--two::before,
.overlay--three::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.65;
    border-radius: 12px;
}

.overlay--one::before {
    background-color: hsl(var(--base));
}

.overlay--two::before {
    background-color: #ffab02;
}

.overlay--three::before {
    background-color: #ab1642;
}

.blog-item__thumb {
    overflow: hidden;
    border-radius: 8px;
    max-height: 300px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    width: 600px !important;
}

/* Categories slider design end  here  */
/* ---------------- Events & Gallery ---------------- */
.event-filters {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}

.event-filters .btn {
    padding: 0.55rem 1.4rem;
    border-radius: 999px;
    border: 1px solid var(--wecy-green, #0AAD36);
    background: transparent;
    color: var(--wecy-green, #0AAD36);
    font-weight: 600;
    transition: all 0.25s ease;
}

.event-filters .btn.btn--base,
.event-filters .btn.active {
    background: var(--wecy-green, #0AAD36);
    color: #fff;
}

.event-filters .btn:hover {
    background: var(--wecy-green, #0AAD36);
    color: #fff;
}

.event-card .blog-item__title {
    margin-bottom: 0.75rem;
}

.event-meta {
    margin-bottom: 0.85rem;
    font-size: 0.85rem;
    color: #6b7280;
}

.event-meta li {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.35rem;
}

.event-meta i {
    color: var(--wecy-green, #0AAD36);
    font-size: 1.05rem;
}

.event-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    background: #6b7280;
}

.event-badge--live {
    background: #e11d48;
}

.event-badge--past {
    background: #4b5563;
}

.event-details__title,
.blog-details__title {
    margin-bottom: 1rem;
}

.event-detail-meta {
    display: flex;
    gap: 0.5rem;
}

.event-detail-meta .event-badge {
    position: static;
}

.event-recent li {
    padding: 0.65rem 0;
    border-bottom: 1px solid #eee;
}

.event-recent li:last-child {
    border-bottom: 0;
}

.event-recent a {
    font-weight: 600;
    color: inherit;
}

.event-recent a:hover {
    color: var(--wecy-green, #0AAD36);
}

.event-recent small {
    display: block;
    color: #6b7280;
}

.gallery-album-card .card-thumb {
    position: relative;
}

.gallery-count {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    z-index: 2;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #fff;
    background: rgba(17, 24, 39, 0.75);
}

.gallery-item {
    overflow: hidden;
    border-radius: 10px;
    margin: 0;
}

.gallery-item img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.gallery-section .gallery-item img {
    height: 190px;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

.gallery-grid .gallery-item {
    cursor: zoom-in;
}

.gallery-album-chip {
    padding: 0.65rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    font-weight: 600;
    color: inherit;
    transition: all 0.25s ease;
}

.gallery-album-chip:hover {
    border-color: var(--wecy-green, #0AAD36);
    color: var(--wecy-green, #0AAD36);
}

.gallery-album-chip small {
    color: #6b7280;
    font-weight: 500;
}
/* ---------------- Event details page ---------------- */
.event-hero {
    position: relative;
    color: #fff;
    overflow: hidden;
}

.event-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.event-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    filter: blur(7px);
}

.event-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 38, 20, 0.82) 0%, rgba(7, 38, 20, 0.86) 58%, rgba(7, 38, 20, 0.92) 100%);
}

.event-hero .container {
    position: relative;
    z-index: 1;
}

.event-hero__content {
    max-width: 820px;
    padding: 90px 0 70px;
}

.event-hero__title {
    color: #fff;
    font-size: clamp(1.8rem, 3.4vw, 3rem);
    line-height: 1.15;
    margin: 18px 0;
}

.event-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    font-size: 1rem;
}

.event-hero__meta li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.event-hero__meta i {
    color: #8ff0b0;
    font-size: 1.25rem;
}

.event-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.event-hero__actions .btn--outline {
    border: 1px solid rgba(255, 255, 255, 0.8);
    color: #fff;
    background: transparent;
}

.event-hero__actions .btn--outline:hover {
    background: #fff;
    color: #0B3D1F;
}

.event-badge--upcoming {
    background: var(--wecy-green, #0AAD36);
}

.event-article__lead {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1f2937;
    border-left: 4px solid var(--wecy-green, #0AAD36);
    padding-left: 1rem;
    margin-bottom: 1.5rem;
}

.event-info-note {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    background: #f0faf3;
    border: 1px solid #d6f0de;
    border-radius: 10px;
    padding: 1rem 1.15rem;
    margin: 1.75rem 0;
    color: #1f5133;
}

.event-info-note i {
    font-size: 1.35rem;
    color: var(--wecy-green, #0AAD36);
}

.event-panel {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 14px;
    padding: 1.75rem;
    margin-top: 2rem;
    scroll-margin-top: 90px;
    box-shadow: 0 8px 24px rgba(15, 40, 25, 0.05);
}

.event-panel__title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
}

.event-panel__title i {
    color: var(--wecy-green, #0AAD36);
}

.event-side__title {
    font-size: 1.05rem;
    margin-bottom: 1rem;
}

.event-side__block,
.event-facts {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 14px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.event-facts__list li {
    display: flex;
    flex-direction: column;
    padding: 0.7rem 0;
    border-bottom: 1px solid #f1f3f5;
}

.event-facts__list li:last-child {
    border-bottom: 0;
}

.event-facts__list span {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

.event-side__cta {
    background: linear-gradient(160deg, #0B3D1F, #0AAD36);
    color: #fff;
    border: 0;
}

.event-side__cta .event-side__title {
    color: #fff;
}
/* --- event pro polish --- */
.event-hero__content {
    max-width: 860px;
    padding: 46px 0 40px;
}

.event-hero__title {
    font-size: clamp(1.5rem, 2.7vw, 2.15rem);
    margin: 12px 0 12px;
    line-height: 1.2;
}

.event-hero__meta {
    gap: 1rem;
    margin-bottom: 1.1rem;
    font-size: 0.95rem;
}

.event-hero__badges {
    display: flex;
    gap: 0.5rem;
}

.event-hero__badges .event-badge {
    position: static;
}

.event-badge--finished {
    background: #64748b;
}

.event-hero__actions .btn {
    border-radius: 999px;
    padding: 0.5rem 1.3rem;
}

.event-body {
    padding: 70px 0;
}

.event-article__lead {
    font-size: 1.08rem;
}

.event-block {
    margin-top: 2.25rem;
}

.event-block__title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 1.35rem;
    margin-bottom: 1.1rem;
}

.event-block__title i {
    color: var(--wecy-green, #0AAD36);
}

.activity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.activity-item {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    background: #f7faf8;
    border: 1px solid #e4efe7;
    border-radius: 10px;
    padding: 0.8rem 1rem;
    font-weight: 500;
}

.activity-item__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--wecy-green, #0AAD36);
    color: #fff;
    font-size: 0.9rem;
}

.event-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
}

.event-gallery__item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 10px;
    aspect-ratio: 4 / 3;
}

.event-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.event-gallery__item:hover img {
    transform: scale(1.06);
}

.event-gallery__cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.55rem 0.7rem;
    font-size: 0.74rem;
    color: #fff;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.72), transparent);
}

.event-lightbox__close {
    position: absolute;
    top: -46px;
    right: 0;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 1.1rem;
}

#eventGalleryModal .modal-content img {
    border-radius: 12px;
}

.event-panel {
    scroll-margin-top: 96px;
}

@media (max-width: 767px) {
    .activity-grid { grid-template-columns: 1fr; }
    .event-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event-hero__content { padding: 34px 0 30px; }
}
/* --- event refinements --- */
.event-details-page {
    padding-top: 128px;
}

@media (max-width: 1199px) {
    .event-details-page { padding-top: 92px; }
}

.event-hero__content { padding: 34px 0 30px; }

/* White outline action button (readable on hover) */
.btn--white {
    background: #fff !important;
    color: #0B3D1F !important;
    border: 1px solid #fff !important;
}
.btn--white:hover,
.btn--white:focus {
    background: #0AAD36 !important;
    color: #fff !important;
    border-color: #0AAD36 !important;
}

.btn--white-outline {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
}
.btn--white-outline:hover,
.btn--white-outline:focus {
    background: #fff !important;
    color: #0B3D1F !important;
    border-color: #fff !important;
}

/* Share buttons in the hero */
.event-share {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-left: 0.4rem;
}
.event-share__label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.85);
    margin-right: 0.15rem;
}
.event-share__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    font-size: 0.92rem;
    transition: all 0.2s ease;
}
.event-share__link:hover {
    background: #fff;
    color: #0B3D1F;
    border-color: #fff;
}

/* Compact Join / Support cards */
.event-panel {
    padding: 1.35rem 1.5rem;
}
.event-panel__hint {
    color: #6b7280;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
.event-block__title {
    font-size: 1.18rem;
    margin-bottom: 0.6rem;
}
.form--control-sm {
    padding: 0.5rem 0.75rem;
    font-size: 0.92rem;
    height: auto;
}
.preset-amounts .form-check-label {
    font-size: 0.86rem;
}
.event-panel--join .form--label,
.event-panel--support .form--label {
    font-size: 0.82rem;
    margin-bottom: 0.25rem;
}

/* Get Involved card readability */
.event-side__cta {
    background: linear-gradient(160deg, #0B3D1F 0%, #0AAD36 100%);
    color: #fff;
    border: 0;
}
.event-side__cta .event-side__title {
    color: #fff;
}
.event-side__cta .event-side__text {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.92rem;
    margin-bottom: 0.9rem;
}
.event-side__cta .btn {
    border-radius: 999px;
    font-weight: 600;
}

/* Gallery lightbox with arrows */
.event-lightbox__stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.event-lightbox__stage img {
    max-width: 100%;
    max-height: 78vh;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}
.event-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    color: #0B3D1F;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: all 0.2s ease;
}
.event-lightbox__nav:hover {
    background: #0AAD36;
    color: #fff;
}
.event-lightbox__nav--prev { left: -8px; }
.event-lightbox__nav--next { right: -8px; }
.event-lightbox__caption {
    color: rgba(255, 255, 255, 0.92);
    text-align: center;
    margin: 0.9rem 0 0;
    font-size: 0.92rem;
}

@media (max-width: 767px) {
    .event-share { margin-left: 0; margin-top: 0.35rem; }
    .event-lightbox__nav--prev { left: 2px; }
    .event-lightbox__nav--next { right: 2px; }
}
/* --- sidebar share button fix --- */
.event-side {
    position: sticky;
    top: 110px;
}

.event-side__block,
.event-facts {
    padding: 1.35rem 1.4rem;
    margin-bottom: 1.25rem;
}

.event-support__hint {
    color: #6b7280;
    font-size: 0.88rem;
    margin-bottom: 0.85rem;
}

.event-support .event-side__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.event-support .event-side__title i {
    color: var(--wecy-green, #0AAD36);
}

.event-support .input-group-text {
    padding: 0.35rem 0.6rem;
    font-size: 0.9rem;
}

.event-support .form--label {
    font-size: 0.78rem;
    margin-bottom: 0.2rem;
}

.event-support .preset-amounts .form-check-label {
    font-size: 0.82rem;
}

/* Join card scroll alignment with sticky sidebar */
.event-panel--join {
    scroll-margin-top: 110px;
}

@media (max-width: 991px) {
    .event-side {
        position: static;
    }
}
/* --- donate compact + align --- */
.event-side {
    position: static;
}

.event-side__block,
.event-facts {
    margin-bottom: 1.5rem;
}

.event-support {
    padding: 1.15rem 1.25rem;
}

.event-support__hint {
    font-size: 0.82rem;
    margin-bottom: 0.7rem;
}

.event-support .event-side__title {
    font-size: 0.98rem;
    margin-bottom: 0.55rem;
}

.event-support .input-group-text {
    padding: 0.3rem 0.55rem;
    font-size: 0.85rem;
}

.event-support .form--label {
    font-size: 0.74rem;
    margin-bottom: 0.15rem;
}

.event-support .form--control-sm {
    padding: 0.42rem 0.6rem;
    font-size: 0.86rem;
}

.event-support .row.g-2 {
    --bs-gutter-y: 0.5rem;
}

.event-amount-select {
    cursor: pointer;
    background-image: none;
}

.event-side__cta {
    margin-bottom: 0;
}
/* --- event mobile responsive --- */
.event-hero__title,
.event-block__title,
.event-side__title {
    overflow-wrap: anywhere;
}

.event-hero__meta li {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 1199px) {
    .event-details-page {
        padding-top: 88px;
    }
}

@media (max-width: 991px) {
    .event-details-page {
        padding-top: 84px;
    }

    .event-body {
        padding: 44px 0;
    }

    .event-hero__content {
        padding: 24px 0 22px;
    }

    .event-hero__title {
        font-size: 1.5rem;
        margin: 10px 0;
    }

    .event-hero__meta {
        gap: 0.5rem 1rem;
        font-size: 0.88rem;
        margin-bottom: 0.9rem;
    }

    .event-block {
        margin-top: 1.6rem;
    }

    .event-block__title {
        font-size: 1.12rem;
    }

    .event-panel {
        padding: 1.15rem 1.1rem;
    }

    .event-facts,
    .event-side__block {
        padding: 1.15rem;
        margin-bottom: 1rem;
    }

    /* Stacked layout: put Donate + Get Involved right after the Join section. */
    .event-side {
        display: flex;
        flex-direction: column;
    }

    .event-support { order: 1; }
    .event-side__cta { order: 2; }
    .event-facts { order: 3; }
    .event-side__block:not(.event-support):not(.event-side__cta) { order: 4; }
}

@media (max-width: 767px) {
    .event-details-page {
        padding-top: 78px;
    }

    .event-body {
        padding: 34px 0;
    }

    .event-hero__content {
        padding: 20px 0 18px;
    }

    .event-hero__title {
        font-size: 1.35rem;
    }

    .event-hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .event-hero__actions > .btn {
        width: 100%;
        justify-content: center;
    }

    .event-share {
        justify-content: center;
        margin: 0.25rem 0 0;
    }

    .event-share__label {
        display: none;
    }

    .activity-grid {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .event-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .event-panel--join .row,
    .event-support .row {
        --bs-gutter-y: 0.6rem;
    }

    .event-side__title {
        font-size: 1rem;
    }

    .event-lightbox__nav--prev { left: 4px; }
    .event-lightbox__nav--next { right: 4px; }
}

@media (max-width: 420px) {
    .event-hero__title {
        font-size: 1.2rem;
    }

    .event-gallery {
        gap: 0.4rem;
    }

    .event-block__title {
        font-size: 1.02rem;
    }
}
/* --- event mobile tuning --- */
@media (max-width: 1199px) {
    .event-details-page {
        padding-top: 90px;
    }
}

@media (max-width: 767px) {
    .event-details-page {
        padding-top: 80px;
    }
}

@media (max-width: 420px) {
    .event-support .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
/* --- event mobile rhythm --- */
@media (max-width: 991px) {
    /* consistent vertical rhythm between content blocks */
    .event-block + .event-block {
        margin-top: 1.75rem;
    }

    .event-article + .event-block {
        margin-top: 1.75rem;
    }

    /* unify card padding so Join / Donate / Get Involved / facts match */
    .event-panel,
    .event-support,
    .event-side__cta,
    .event-facts,
    .event-side__block {
        padding: 1.15rem;
        border-radius: 14px;
    }
}

@media (max-width: 767px) {
    /* donate donor fields stay two-per-row until very small screens (shorter card) */
    .event-support .col-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    /* tighter hero */
    .event-hero__content {
        padding: 18px 0 16px;
    }

    .event-hero__actions {
        margin-top: 0.25rem;
    }

    .event-hero__actions .btn {
        border-radius: 10px;
    }

    .event-share {
        margin-top: 0.35rem;
    }

    /* activity rows */
    .activity-item {
        padding: 0.7rem 0.9rem;
        gap: 0.6rem;
    }

    .activity-item__check {
        flex-basis: 24px;
        width: 24px;
        height: 24px;
    }

    /* consistent full-width buttons inside the action cards */
    .event-panel .btn,
    .event-support .btn {
        width: 100%;
    }
}

@media (max-width: 360px) {
    .event-support .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
/* --- projects --- */
.project-card {
    overflow: hidden;
    border-radius: 14px;
}

.project-card__thumb {
    display: block;
    overflow: hidden;
    max-height: 240px;
    border-radius: 8px;
}

.project-card__thumb img {
    width: 100%;
    transition: transform 0.35s ease;
}

.project-card:hover .project-card__thumb img {
    transform: scale(1.05);
}

.project-cat {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--wecy-green, #0AAD36);
    margin-bottom: 0.4rem;
}

.project-card__title {
    font-size: 1.08rem;
    line-height: 1.35;
    margin-bottom: 0.6rem;
}

.project-card__desc {
    font-size: 0.9rem;
    color: #6b7280;
}

.project-meta {
    margin-bottom: 0.6rem;
    font-size: 0.83rem;
    color: #6b7280;
}

.project-meta li {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.25rem;
}

.project-meta i {
    color: var(--wecy-green, #0AAD36);
    font-size: 1rem;
}

.project-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    background: #6b7280;
}

.project-badge--ongoing   { background: #0AAD36; }
.project-badge--completed { background: #4b5563; }
.project-badge--planned   { background: #d97706; }
.project-badge--featured  { top: 0.75rem; left: auto; right: 0.75rem; background: #0B3D1F; }

.project-filters {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
}

.project-filters .btn {
    padding: 0.5rem 1.3rem;
    border-radius: 999px;
    border: 1px solid var(--wecy-green, #0AAD36);
    background: transparent;
    color: var(--wecy-green, #0AAD36);
    font-weight: 600;
    font-size: 0.88rem;
    transition: all 0.25s ease;
}

.project-filters .btn:hover,
.project-filters .btn.active {
    background: var(--wecy-green, #0AAD36);
    color: #fff;
}

/* objectives */
.objective-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.objective-item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    background: #fff;
    border: 1px solid #e4efe7;
    border-radius: 10px;
    padding: 0.85rem 1rem;
}

.objective-item__num {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #0B3D1F;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* outcomes */
.outcome-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.outcome-item {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    background: #f0faf3;
    border: 1px solid #d6f0de;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    color: #1f5133;
    font-weight: 500;
}

.outcome-item i {
    color: var(--wecy-green, #0AAD36);
    font-size: 0.95rem;
    margin-top: 0.15rem;
}

/* project hero badges inherit event hero positioning */
.event-hero__badges .project-badge {
    position: static;
}

@media (max-width: 767px) {
    .objective-grid,
    .outcome-grid {
        grid-template-columns: 1fr;
    }

    .project-card__thumb {
        max-height: 200px;
    }
}
/* --- filter buttons visibility fix --- */
/* The theme sets .btn { color:#fff !important }, which hid the inactive
   outlined filter pills. Re-assert the outline and active colours. */
.project-filters .btn,
.event-filters .btn {
    color: var(--wecy-green, #0AAD36) !important;
    background: transparent !important;
    border: 1px solid var(--wecy-green, #0AAD36) !important;
    -webkit-text-fill-color: var(--wecy-green, #0AAD36);
}

.project-filters .btn:hover,
.project-filters .btn.active,
.event-filters .btn:hover,
.event-filters .btn.active,
.event-filters .btn.btn--base {
    color: #ffffff !important;
    background: var(--wecy-green, #0AAD36) !important;
    border-color: var(--wecy-green, #0AAD36) !important;
    -webkit-text-fill-color: #ffffff;
}
/* --- project gallery hero fill --- */
/* Make the project gallery a hero + strip mosaic that grows to the height of
   the sidebar, so the main column has no empty white space at the bottom. */
.project-details-page .event-gallery--hero {
    grid-template-columns: repeat(var(--strip-cols, 3), minmax(0, 1fr));
    grid-auto-rows: minmax(180px, 1fr);
    gap: 0.6rem;
}

.project-details-page .event-gallery--hero .event-gallery__item {
    aspect-ratio: auto;
    height: 100%;
}

.project-details-page .event-gallery--hero .event-gallery__item:first-child {
    grid-column: 1 / -1;
}

@media (min-width: 992px) {
    .project-details-page .event-body .row > [class*="col-xl-8"],
    .project-details-page .event-body .row > [class*="col-lg-7"] {
        display: flex;
        flex-direction: column;
    }

    .project-details-page .event-block--gallery {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
    }

    .project-details-page .event-gallery--hero {
        flex: 1 1 auto;
    }
}

@media (max-width: 991px) {
    .project-details-page .event-gallery--hero {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: minmax(150px, 1fr);
    }
}
/* --- project gallery fill fix --- */
/* Fill exactly the leftover column height (no intrinsic image sizing). */
.project-details-page .event-gallery--hero {
    flex: 1 1 0%;
    min-height: 360px;
    grid-auto-rows: 1fr;
}

.project-details-page .event-gallery--hero .event-gallery__item {
    position: relative;
    overflow: hidden;
    aspect-ratio: auto;
    height: 100%;
    min-height: 0;
}

.project-details-page .event-gallery--hero .event-gallery__item img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 991px) {
    .project-details-page .event-gallery--hero {
        flex: 0 0 auto;
        min-height: 0;
        grid-auto-rows: minmax(150px, 1fr);
    }

    .project-details-page .event-gallery--hero .event-gallery__item img {
        position: static;
        height: auto;
        aspect-ratio: 4 / 3;
    }
}
/* --- project gallery mobile clean --- */
@media (max-width: 991px) {
    .project-details-page .event-gallery--hero {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
        flex: 0 0 auto;
        min-height: 0;
    }

    .project-details-page .event-gallery--hero .event-gallery__item {
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .project-details-page .event-gallery--hero .event-gallery__item:first-child {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 10;
    }

    .project-details-page .event-gallery--hero .event-gallery__item img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}
/* --- campaign card cta --- */
.campaign-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: hsl(var(--body-color));
    transition: all 0.2s ease;
}

.campaign-card__cta .icon {
    color: hsl(var(--base));
    font-size: 1.05rem;
}

.campaign-card__cta:hover {
    color: hsl(var(--base));
}

.campaign-card__cta--support {
    color: hsl(var(--base));
}

.campaign-card__cta--support:hover {
    opacity: 0.85;
}
/* --- donation cta modern --- */
.donation-cta__head {
    margin-bottom: 16px;
}

.donation-cta__title {
    margin-bottom: 4px;
}

.donation-cta__subtitle {
    font-size: 0.9rem;
    color: hsl(var(--body-color) / 0.85);
    margin-bottom: 0;
    max-width: 760px;
}

.donation-cta__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr auto;
    gap: 16px;
    align-items: end;
}

.donation-cta__field {
    min-width: 0;
}

.donation-cta__label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 6px;
}

.donation-cta__field--campaign .select2-container {
    width: 100% !important;
}

.donation-cta__field--campaign .select2-selection--single {
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
}

.donation-cta__field--campaign .select2-selection__rendered {
    line-height: normal !important;
    padding-left: 14px;
}

.donation-cta__field--campaign .select2-selection__arrow {
    height: 46px;
}

.donation-cta__amount-select,
.donation-cta__amount-group .form-control,
.donation-cta__btn {
    height: 48px;
    border-radius: 10px;
}

.donation-cta__amount-group .form-control {
    border-radius: 10px 0 0 10px;
}

.donation-cta__amount-group .input-group-text {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-radius: 0 10px 10px 0;
    font-weight: 600;
}

.donation-cta__btn {
    white-space: nowrap;
    padding-inline: 26px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

@media (max-width: 1199px) {
    .donation-cta__grid {
        grid-template-columns: 1fr 1fr;
    }

    .donation-cta__field--campaign,
    .donation-cta__field--btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575px) {
    .donation-cta__grid {
        grid-template-columns: 1fr;
    }
}
/* --- donation cta centered heading --- */
.donation-cta__head {
    text-align: center;
}

.donation-cta__subtitle {
    margin-left: auto;
    margin-right: auto;
}
/* --- hero + impact redesign --- */
.hero-section {
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding-top: 77px;
    color: #fff;
}

.hero-section__bg {
    position: absolute;
    inset: 0;
    z-index: -1;
}

.hero-section__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-section__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(5, 34, 18, 0.93) 0%, rgba(5, 34, 18, 0.74) 46%, rgba(5, 34, 18, 0.35) 100%);
}

.hero-section__inner {
    padding: 96px 0 calc(var(--form-h) / 2 + 140px);
}

.hero-section__content {
    max-width: 700px;
}

.hero-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #BFF0D2;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.20);
    padding: 7px 15px;
    border-radius: 999px;
    margin-bottom: 22px;
}

.hero-section__title {
    font-size: clamp(1.9rem, 4vw, 3.4rem);
    line-height: 1.12;
    color: #fff;
    margin-bottom: 18px;
}

.hero-section__text {
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    color: rgba(255, 255, 255, 0.9);
    max-width: 580px;
    margin-bottom: 30px;
}

.hero-section__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 38px;
}

.hero-section__btn {
    border-radius: 999px;
    padding: 14px 30px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-weight: 700;
    font-size: 1rem;
}

.hero-section__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 34px;
    margin: 0;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.hero-section__trust li {
    display: flex;
    flex-direction: column;
}

.hero-section__trust strong {
    font-size: 1.75rem;
    line-height: 1;
    color: #fff;
}

.hero-section__trust span {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.72);
    margin-top: 6px;
}

/* Impact */
.impact-section {
    position: relative;
    z-index: 1;
    padding: 64px 0 0;
}

.impact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.impact-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 14px 34px rgba(15, 40, 25, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.impact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 42px rgba(15, 40, 25, 0.12);
}

.impact-card__icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 1.5rem;
}

.impact-card__num {
    display: block;
    font-size: 1.8rem;
    font-weight: 800;
    color: #0B3D1F;
    line-height: 1;
}

.impact-card__label {
    font-size: 0.86rem;
    color: #6b7280;
}

@media (max-width: 991px) {
    .hero-section__inner {
        padding: 64px 0 calc(var(--form-h) / 2 + 100px);
    }

    .impact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .hero-section__inner {
        padding: 48px 0 calc(var(--form-h) / 2 + 80px);
    }

    .hero-section__actions .btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .hero-section__trust {
        gap: 22px;
    }
}

@media (max-width: 575px) {
    .impact-grid {
        grid-template-columns: 1fr;
    }
}
/* --- wecy design system --- */
.wecy-heading {
    max-width: 640px;
    margin-bottom: 44px;
}

.wecy-heading.is-center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.wecy-heading__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0AAD36;
    margin-bottom: 14px;
}

.wecy-heading__eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: #0AAD36;
}

.wecy-heading.is-center .wecy-heading__eyebrow::after {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: #0AAD36;
}

.wecy-heading__title {
    font-size: clamp(1.55rem, 2.7vw, 2.35rem);
    line-height: 1.18;
    color: #0B3D1F;
    margin-bottom: 14px;
}

.wecy-heading__text {
    font-size: 1rem;
    color: #5b6b60;
    margin-bottom: 0;
}

/* About */
.wecy-about {
    padding: clamp(56px, 8vw, 104px) 0;
}

.wecy-about__grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 64px;
    align-items: center;
}

.wecy-about__media {
    position: relative;
}

.wecy-about__media img {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 5 / 6;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.18);
}

.wecy-about__shape {
    position: absolute;
    inset: auto -18px -18px auto;
    width: 62%;
    height: 62%;
    border-radius: 24px;
    background: linear-gradient(140deg, rgba(10, 173, 54, 0.16), transparent);
    z-index: 0;
}

.wecy-about__badge {
    position: absolute;
    z-index: 2;
    left: -18px;
    bottom: 30px;
    background: #0B3D1F;
    color: #fff;
    border-radius: 16px;
    padding: 16px 22px;
    box-shadow: 0 18px 40px rgba(11, 61, 31, 0.35);
}

.wecy-about__badge-num {
    display: block;
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
}

.wecy-about__badge-label {
    display: block;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.82);
    margin-top: 4px;
}

.wecy-about__text {
    color: #4b5a50;
    margin-bottom: 26px;
}

.wecy-about__points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 30px;
}

.wecy-about__point {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #21352a;
}

.wecy-about__point-icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(10, 173, 54, 0.14);
    color: #0AAD36;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
}

.wecy-about__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    padding: 22px 0;
    margin-bottom: 30px;
    border-top: 1px solid #e7ede9;
    border-bottom: 1px solid #e7ede9;
}

.wecy-about__stat-num {
    display: block;
    font-size: 1.9rem;
    font-weight: 800;
    color: #0B3D1F;
    line-height: 1;
}

.wecy-about__stat-label {
    display: block;
    font-size: 0.82rem;
    color: #6b7a70;
    margin-top: 5px;
}

.wecy-about__btn {
    border-radius: 999px;
    padding: 13px 28px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

/* Feature */
.wecy-feature {
    padding: clamp(56px, 8vw, 104px) 0;
    background: linear-gradient(180deg, rgba(10, 173, 54, 0.04), transparent 60%);
}

.wecy-feature__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.wecy-feature__card {
    position: relative;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wecy-feature__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #0AAD36, #6fe39a);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.wecy-feature__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(11, 61, 31, 0.12);
    border-color: rgba(10, 173, 54, 0.35);
}

.wecy-feature__card:hover::before {
    transform: scaleX(1);
}

.wecy-feature__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 1.6rem;
    margin-bottom: 18px;
}

.wecy-feature__title {
    font-size: 1.12rem;
    color: #0B3D1F;
    margin-bottom: 8px;
}

.wecy-feature__text {
    font-size: 0.9rem;
    color: #62716a;
    margin-bottom: 0;
}

.wecy-feature__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    margin-top: 40px;
}

.wecy-feature__actions .btn {
    border-radius: 999px;
    padding: 13px 28px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .wecy-about__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .wecy-about__media {
        max-width: 520px;
        margin-inline: auto;
        width: 100%;
    }

    .wecy-feature__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .wecy-about__points {
        grid-template-columns: 1fr;
    }

    .wecy-feature__grid {
        grid-template-columns: 1fr;
    }

    .wecy-about__badge {
        left: 12px;
        bottom: 12px;
        padding: 12px 16px;
    }
}
/* --- wecy sections batch 2 --- */
.wecy-commit,
.wecy-team,
.wecy-donors,
.wecy-faq,
.wecy-reach {
    padding: clamp(56px, 8vw, 104px) 0;
}

/* Commitments */
.wecy-commit {
    background: #0B3D1F;
}

.wecy-commit .wecy-heading__title {
    color: #fff;
}

.wecy-commit .wecy-heading__text {
    color: rgba(255, 255, 255, 0.78);
}

.wecy-commit .wecy-heading__eyebrow {
    color: #6fe39a;
}

.wecy-commit .wecy-heading__eyebrow::before,
.wecy-commit .wecy-heading__eyebrow::after {
    background: #6fe39a;
}

.wecy-commit__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.wecy-commit__card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    padding: 26px 22px;
    color: #fff;
    transition: background 0.25s ease, transform 0.25s ease;
}

.wecy-commit__card:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-4px);
}

.wecy-commit__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(111, 227, 154, 0.18);
    color: #6fe39a;
    font-size: 1.2rem;
    margin-bottom: 14px;
}

.wecy-commit__text {
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 0;
}

/* Team */
.wecy-team__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.wecy-team__card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wecy-team__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(11, 61, 31, 0.12);
}

.wecy-team__thumb {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #eef4f0;
}

.wecy-team__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.wecy-team__card:hover .wecy-team__thumb img {
    transform: scale(1.06);
}

.wecy-team__body {
    padding: 20px 20px 22px;
    text-align: center;
}

.wecy-team__name {
    font-size: 1.05rem;
    color: #0B3D1F;
    margin-bottom: 4px;
}

.wecy-team__role {
    font-size: 0.84rem;
    color: #6b7a70;
    margin-bottom: 10px;
}

.wecy-team__country {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #0AAD36;
    background: rgba(10, 173, 54, 0.1);
    border-radius: 999px;
    padding: 4px 12px;
}

.wecy-team__actions {
    text-align: center;
    margin-top: 40px;
}

.wecy-team__actions .btn {
    border-radius: 999px;
    padding: 13px 30px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

/* Donors */
.wecy-donors__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.wecy-donors__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 26px 18px;
}

.wecy-donors__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-weight: 800;
    margin-bottom: 12px;
}

.wecy-donors__name {
    font-weight: 700;
    color: #0B3D1F;
}

.wecy-donors__amount {
    font-size: 0.85rem;
    color: #6b7a70;
    margin-top: 2px;
}

.wecy-donors__empty {
    text-align: center;
    max-width: 520px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: 44px 28px;
}

.wecy-donors__empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 2rem;
    margin-bottom: 16px;
}

.wecy-donors__empty p {
    color: #5b6b60;
    margin-bottom: 20px;
}

.wecy-donors__empty .btn {
    border-radius: 999px;
    padding: 12px 28px;
    font-weight: 700;
}

/* FAQ */
.wecy-faq__grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 56px;
    align-items: stretch;
}

.wecy-faq__media {
    display: flex;
    position: relative;
}

.wecy-faq__media .faq-video {
    position: relative;
    flex: 1;
    min-height: 460px;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(11, 61, 31, 0.18);
    isolation: isolate;
}

.wecy-faq__media .faq-video::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(11, 61, 31, 0) 20%, rgba(11, 61, 31, 0.42) 52%, rgba(11, 61, 31, 0.86) 84%, rgba(11, 61, 31, 0.95) 100%);
    z-index: 1;
    pointer-events: none;
}

.wecy-faq__media .faq-video img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.85s cubic-bezier(0.19, 1, 0.22, 1);
}

.wecy-faq__media .faq-video:hover img {
    transform: scale(1.07);
}

.wecy-faq__media .play-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: #fff;
    color: #0AAD36;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3);
    z-index: 3;
    transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.wecy-faq__media .play-video::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.75);
    animation: wecyFaqPulse 2.6s ease-out infinite;
}

@keyframes wecyFaqPulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }
    70% {
        transform: scale(1.75);
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

.wecy-faq__media .faq-video:hover .play-video {
    transform: translate(-50%, -50%) scale(1.08);
    background: #0AAD36;
    color: #fff;
}

.faq-video__caption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 14px;
    color: #fff;
    transform: translateY(8px);
    transition: transform 0.45s ease;
}

.wecy-faq__media .faq-video:hover .faq-video__caption {
    transform: translateY(0);
}

.faq-video__caption-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.28);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    font-size: 1.3rem;
    color: #7ee29a;
}

.faq-video__caption-text {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.faq-video__caption-text strong {
    font-size: 1rem;
    font-weight: 700;
}

.faq-video__caption-text span {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.82);
}

.wecy-faq .wecy-heading {
    margin-bottom: 26px;
}

.wecy-faq .accordion-item {
    border: 1px solid #e9ecef;
    border-radius: 12px !important;
    margin-bottom: 12px;
    overflow: hidden;
    background: #fff;
    padding-block: 0 !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.wecy-faq .accordion-button {
    font-weight: 600;
    font-size: 1rem;
    color: #0B3D1F;
    padding: 16px 20px;
    background: #fff;
    box-shadow: none;
}

.wecy-faq .accordion-button:not(.collapsed) {
    background: rgba(10, 173, 54, 0.08);
    color: #0AAD36;
}

.wecy-faq .accordion-button:focus {
    box-shadow: none;
    border-color: transparent;
}

.wecy-faq .accordion-body {
    color: #5b6b60;
    padding: 4px 20px 18px;
}

.wecy-faq .accordion-item:hover {
    border-color: rgba(10, 173, 54, 0.45);
    box-shadow: 0 12px 28px rgba(11, 61, 31, 0.08);
}

.wecy-faq .accordion-button:hover {
    color: #0AAD36;
}

.wecy-faq .accordion-item:has(.accordion-button:not(.collapsed)) {
    border-color: rgba(10, 173, 54, 0.3);
    box-shadow: 0 14px 32px rgba(11, 61, 31, 0.1);
}

@media (max-width: 991px) {
    .wecy-faq__media .faq-video {
        min-height: 380px;
    }

    .faq-video__caption {
        left: 18px;
        right: 18px;
        bottom: 18px;
    }
}

@media (max-width: 575px) {
    .wecy-faq__media .faq-video {
        min-height: 320px;
    }
}

/* Reach */
.wecy-reach__card {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    background: linear-gradient(150deg, #0B3D1F 0%, #0A6b34 100%);
    border-radius: 26px;
    padding: clamp(32px, 5vw, 60px);
    color: #fff;
}

.wecy-reach__eyebrow {
    color: #6fe39a;
}

.wecy-reach__eyebrow::before {
    background: #6fe39a;
}

.wecy-reach__title {
    color: #fff;
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    line-height: 1.2;
    margin-bottom: 26px;
}

.wecy-reach__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 30px;
}

.wecy-reach__stat strong {
    display: block;
    font-size: 1.7rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}

.wecy-reach__stat span {
    display: block;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 6px;
}

.wecy-reach__btn {
    border-radius: 999px;
    padding: 13px 28px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.wecy-reach__right {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    padding: 30px;
}

.wecy-reach__subtitle {
    color: #fff;
    font-size: 1.15rem;
    margin-bottom: 12px;
}

.wecy-reach__text {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .wecy-commit__grid,
    .wecy-team__grid,
    .wecy-donors__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wecy-faq__grid,
    .wecy-reach__card {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .wecy-reach__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .wecy-commit__grid,
    .wecy-team__grid,
    .wecy-donors__grid {
        grid-template-columns: 1fr;
    }
}
/* --- wecy sections batch 3 --- */
.wecy-causes {
    padding: clamp(56px, 8vw, 104px) 0;
    background: rgba(10, 173, 54, 0.035);
}

.wecy-volunteer {
    padding: clamp(56px, 8vw, 104px) 0;
}

.wecy-volunteer__card {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: center;
    background: linear-gradient(135deg, #0B3D1F 0%, #0A6b34 100%);
    border-radius: 26px;
    padding: clamp(30px, 5vw, 56px);
    color: #fff;
}

.wecy-volunteer__eyebrow {
    color: #6fe39a;
}

.wecy-volunteer__eyebrow::before {
    background: #6fe39a;
}

.wecy-volunteer__title {
    color: #fff;
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    line-height: 1.22;
    margin-bottom: 14px;
}

.wecy-volunteer__text {
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 26px;
}

.wecy-volunteer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.wecy-volunteer__actions .btn {
    border-radius: 999px;
    padding: 13px 28px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.wecy-volunteer__media {
    position: relative;
    padding: 0 26px 26px 0;
}

.wecy-volunteer__img--main {
    width: 100%;
    border-radius: 20px;
    aspect-ratio: 4 / 4.2;
    object-fit: cover;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.3);
}

.wecy-volunteer__img--sub {
    position: absolute;
    left: -26px;
    bottom: 0;
    width: 42%;
    border-radius: 16px;
    border: 4px solid #0f4a28;
    object-fit: cover;
    aspect-ratio: 4 / 5;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

@media (max-width: 991px) {
    .wecy-volunteer__card {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .wecy-volunteer__media {
        max-width: 460px;
    }
}

@media (max-width: 575px) {
    .wecy-volunteer__img--sub {
        left: -8px;
        width: 46%;
    }
}
/* --- wecy footer --- */
.wecy-footer {
    position: relative;
    background: radial-gradient(720px 340px at 88% -25%, rgba(10, 173, 54, 0.16), transparent 70%), #161A1F;
    color: rgba(255, 255, 255, 0.7);
    padding: clamp(38px, 4.8vw, 60px) 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.wecy-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #0AAD36 0%, rgba(10, 173, 54, 0.28) 38%, transparent 72%);
}

.wecy-footer__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.5fr;
    gap: clamp(24px, 3vw, 42px);
    padding-bottom: 38px;
    align-items: start;
}

.wecy-footer__logo {
    display: inline-block;
}

.wecy-footer__logo img {
    max-height: 84px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.95;
    transition: opacity 0.25s ease;
}

.wecy-footer__logo:hover img {
    opacity: 1;
}

.wecy-footer__desc {
    margin: 16px 0 20px;
    max-width: 340px;
    font-size: 0.9rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.62);
}

.wecy-footer__social {
    display: flex;
    gap: 9px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.wecy-footer__social a {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    transition: all 0.22s ease;
}

.wecy-footer__social a:hover {
    background: #0AAD36;
    border-color: #0AAD36;
    color: #fff;
    transform: translateY(-2px);
}

.wecy-footer__news .wecy-footer__social {
    margin-top: 20px;
}

.wecy-footer__tagline {
    position: relative;
    margin: 20px 0 0;
    padding-left: 15px;
    font-family: var(--heading-font);
    font-style: italic;
    font-weight: 500;
    font-size: 1.06rem;
    line-height: 1.4;
    letter-spacing: 0.015em;
    color: #8ff0b0;
    text-shadow: 0 0 20px rgba(10, 173, 54, 0.35);
}

.wecy-footer__tagline::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    bottom: 0.2em;
    width: 3px;
    border-radius: 3px;
    background: linear-gradient(180deg, #0AAD36, rgba(10, 173, 54, 0));
}

.wecy-footer__title {
    position: relative;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 18px;
    padding-bottom: 8px;
}

.wecy-footer__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: #0AAD36;
}

.wecy-footer__menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wecy-footer__menu li {
    margin-bottom: 9px;
}

.wecy-footer__menu a {
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.9rem;
    transition: color 0.2s ease, padding 0.2s ease;
}

.wecy-footer__menu a:hover {
    color: #fff;
    padding-left: 6px;
}

.wecy-footer__title--gap {
    margin-top: 26px;
}

.wecy-footer__sub {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.62);
    margin-bottom: 14px;
}

.wecy-footer__input {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    padding: 4px;
    transition: border-color 0.22s ease;
}

.wecy-footer__input:focus-within {
    border-color: rgba(10, 173, 54, 0.6);
}

.wecy-footer__input input {
    flex: 1;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #fff !important;
    padding-left: 18px;
    height: 42px;
    font-size: 0.88rem;
}

.wecy-footer__input input::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.wecy-footer__input button {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 0;
    border-radius: 50%;
    background: #0AAD36;
    color: #fff;
    font-size: 1.05rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
}

.wecy-footer__input button:hover {
    background: #0c8f2e;
    transform: scale(1.05);
}

.wecy-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 18px 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.55);
}

.wecy-footer__bottom p {
    margin: 0;
}

.wecy-footer__bottom a {
    color: rgba(255, 255, 255, 0.75);
    transition: color 0.2s ease;
}

.wecy-footer__bottom a:hover {
    color: #6fe39a;
}

.wecy-footer__credit {
    color: rgba(255, 255, 255, 0.5);
    white-space: nowrap;
}

.wecy-footer__policy {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.wecy-footer__policy a {
    color: rgba(255, 255, 255, 0.55);
    transition: color 0.2s ease;
}

.wecy-footer__policy a:hover {
    color: #6fe39a;
}

.wecy-footer__policy .wecy-footer__credit a {
    color: #6fe39a;
    font-weight: 600;
}

.wecy-footer__policy .wecy-footer__credit a:hover {
    color: #fff;
}

@media (max-width: 991px) {
    .wecy-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

@media (max-width: 767px) {
    .wecy-footer__grid {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }

    .wecy-footer__brand,
    .wecy-footer__col {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .wecy-footer__desc {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }

    .wecy-footer__title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .wecy-footer__menu a:hover {
        padding-left: 0;
    }

    .wecy-footer__social {
        justify-content: center;
    }

    .wecy-footer__input {
        width: 100%;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }

    .wecy-footer__tagline {
        padding-left: 0;
        display: inline-block;
    }

    .wecy-footer__tagline::before {
        display: none;
    }

    .wecy-footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    .wecy-footer__policy {
        justify-content: center;
    }
}
/* --- uniform homepage rhythm --- */
.index-page {
    --section-y: clamp(34px, 3.6vw, 48px);
}

/* Every content section shares the exact same top/bottom spacing, except the
   hero / donation / impact band which have deliberate bespoke spacing. */
.index-page > section:not(.hero-section):not(.donation-cta-section):not(.impact-section):not(.about-hero) {
    padding-top: var(--section-y) !important;
    padding-bottom: var(--section-y) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* --- uniform homepage rhythm v2 --- */
/* Bring the impact band onto the same rhythm so the gap into "About" matches. */
.index-page > .impact-section {
    padding-top: var(--section-y) !important;
    padding-bottom: var(--section-y) !important;
    margin: 0 !important;
}
/* --- wecy unified cards --- */
.wecy-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wecy-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(11, 61, 31, 0.13);
    border-color: rgba(10, 173, 54, 0.3);
}

.wecy-card__thumb {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #eef4f0;
}

.wecy-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.wecy-card:hover .wecy-card__thumb img {
    transform: scale(1.06);
}

.wecy-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 0.28rem 0.72rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #fff;
    background: #0AAD36;
}

.wecy-card__badge--completed { background: #4b5563; }
.wecy-card__badge--planned   { background: #d97706; }
.wecy-card__badge--live      { background: #e11d48; }

.wecy-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px 22px 22px;
}

.wecy-card__cat {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0AAD36;
    margin-bottom: 0.4rem;
}

.wecy-card__title {
    font-size: 1.12rem;
    line-height: 1.35;
    color: #0B3D1F;
    margin-bottom: 0.65rem;
}

.wecy-card__title a {
    color: inherit;
}

.wecy-card__title a:hover {
    color: #0AAD36;
}

.wecy-card__text {
    font-size: 0.9rem;
    color: #62716a;
    margin-bottom: 14px;
}

.wecy-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    font-size: 0.83rem;
    color: #6b7a70;
    margin-bottom: 14px;
}

.wecy-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.wecy-card__meta i {
    color: #0AAD36;
}

.wecy-card__foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid #eef2ef;
}

.wecy-card__link {
    font-weight: 700;
    font-size: 0.88rem;
    color: #0AAD36;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wecy-card__link:hover {
    color: #0B3D1F;
}

/* progress */
.wecy-progress {
    margin-bottom: 16px;
}

.wecy-progress__bar {
    height: 8px;
    border-radius: 999px;
    background: #e8f5ec;
    overflow: hidden;
}

.wecy-progress__bar i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #0AAD36, #6fe39a);
}

.wecy-progress__meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: #6b7a70;
    margin-top: 7px;
}

/* event date badge */
.wecy-event__date {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 54px;
    height: 58px;
    border-radius: 12px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(11, 61, 31, 0.2);
    line-height: 1;
}

.wecy-event__date strong {
    font-size: 1.15rem;
    color: #0B3D1F;
}

.wecy-event__date small {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #0AAD36;
    margin-top: 3px;
}

/* gallery */
.wecy-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 12px;
    max-width: 960px;
    margin: 0 auto 22px;
}

.wecy-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    aspect-ratio: 4 / 3;
    display: block;
}

.wecy-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.wecy-gallery__item:hover img {
    transform: scale(1.07);
}

.wecy-gallery__zoom {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    background: rgba(11, 61, 31, 0.45);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.wecy-gallery__item:hover .wecy-gallery__zoom {
    opacity: 1;
}

.wecy-gallery__albums {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.wecy-gallery__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.5rem 1.05rem;
    border: 1px solid #e2e8e4;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.86rem;
    color: #21352a;
    background: #fff;
    transition: all 0.2s ease;
}

.wecy-gallery__chip small {
    color: #0AAD36;
    font-weight: 700;
}

.wecy-gallery__chip:hover {
    border-color: #0AAD36;
    color: #0AAD36;
}

/* donors support ways */
.wecy-donors__lead {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 40px;
}

.wecy-donors__lead-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 1.8rem;
    margin-bottom: 14px;
}

.wecy-donors__lead p {
    color: #5b6b60;
    margin-bottom: 0;
}

.wecy-support__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.wecy-support__card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    padding: 28px 24px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wecy-support__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(11, 61, 31, 0.12);
    border-color: rgba(10, 173, 54, 0.3);
}

.wecy-support__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 1.5rem;
    margin-bottom: 12px;
}

.wecy-support__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0B3D1F;
}

.wecy-support__text {
    font-size: 0.88rem;
    color: #62716a;
}

.wecy-support__link {
    margin-top: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #0AAD36;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

@media (max-width: 991px) {
    .wecy-support__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .wecy-gallery__grid {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .wecy-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }
}

@media (max-width: 575px) {
    .wecy-support__grid {
        grid-template-columns: 1fr;
    }
}
/* --- card image aspect fix --- */
/* Event/project/story images are 966x450 (2.147:1); match the frame so the
   titles baked into the imagery are never cropped. */
.wecy-card__thumb {
    aspect-ratio: 966 / 450;
}
/* --- hero pillar chips --- */
.hero-section__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.hero-section__trust li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.86rem;
    font-weight: 600;
}

.hero-section__trust li i {
    color: #6fe39a;
    font-size: 1.1rem;
}

@media (max-width: 575px) {
    .hero-section__trust {
        gap: 9px;
    }

    .hero-section__trust li {
        font-size: 0.8rem;
        padding: 7px 13px;
    }
}
/* --- who we serve + approach chips --- */
.wecy-about__serves {
    margin-bottom: 30px;
}

.wecy-about__serves-label {
    display: block;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6b7a70;
    margin-bottom: 12px;
}

.wecy-about__serves-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wecy-about__serves-list span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 999px;
    background: #f3faf5;
    border: 1px solid #d9ede1;
    color: #21352a;
    font-weight: 600;
    font-size: 0.88rem;
}

.wecy-about__serves-list i {
    color: #0AAD36;
    font-size: 1.1rem;
}

.wecy-reach__approach {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
}

.wecy-reach__chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    font-weight: 600;
    font-size: 0.86rem;
}

.wecy-reach__chip i {
    color: #6fe39a;
    font-size: 1.1rem;
}

@media (max-width: 575px) {
    .wecy-about__serves-list span,
    .wecy-reach__chip {
        font-size: 0.82rem;
        padding: 8px 14px;
    }
}
/* --- campaign listing redesign --- */
.campaigns-page {
    padding-top: 128px;
}

.wecy-page-hero {
    background: linear-gradient(180deg, rgba(10, 173, 54, 0.06), transparent 90%);
    padding-bottom: 46px;
}

.wecy-page-hero__title {
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    line-height: 1.15;
    color: #0B3D1F;
    margin: 14px 0 14px;
}

.wecy-page-hero__text {
    font-size: 1.02rem;
    color: #5b6b60;
    max-width: 680px;
    margin-bottom: 24px;
}

.wecy-page-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
}

.wecy-page-hero__chips li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dfeae3;
    color: #21352a;
    font-weight: 600;
    font-size: 0.86rem;
}

.wecy-page-hero__chips li i {
    color: #0AAD36;
    font-size: 1.1rem;
}

.all-campaigns {
    padding-bottom: clamp(56px, 8vw, 104px);
}

/* campaigns page: keep the sidebar (Focus Area) ↔ campaigns gap standard/tight */
.campaigns-page .wecy-page-hero {
    padding-bottom: 30px;
}

.campaigns-page .all-campaigns > .container > .row {
    --bs-gutter-x: 1rem;
}

/* tighten the gap between the campaign list and the focus-area category cards */
.campaigns-page .all-campaigns {
    padding-bottom: 36px;
}

.campaigns-page .wecy-cats {
    padding-top: 40px;
    padding-bottom: clamp(40px, 6vw, 72px);
}

@media (max-width: 1199px) {
    .campaigns-page .all-campaigns > .container > .row {
        --bs-gutter-x: 1.5rem;
    }

    .campaigns-page .all-campaigns {
        padding-bottom: 24px;
    }

    .campaigns-page .wecy-cats {
        padding-top: 28px;
    }
}

/* Sidebar filters */
.campaign-sidebar__inner {
    position: sticky;
    top: 100px;
}

.wecy-filter {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 16px;
}

.wecy-filter__title {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0B3D1F;
    margin-bottom: 14px;
}

.wecy-filter .input-group {
    border: 1px solid #e2e8e4;
    border-radius: 10px;
    overflow: hidden;
}

.wecy-filter .input-group .form-control {
    border: 0;
    box-shadow: none;
}

.wecy-filter .input-group .input-group-text {
    background: #0AAD36;
    color: #fff;
    border: 0;
    cursor: pointer;
}

.wecy-filter__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.wecy-chip {
    cursor: pointer;
    margin: 0;
}

.wecy-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.wecy-chip span {
    display: inline-block;
    padding: 7px 15px;
    border-radius: 999px;
    border: 1px solid #dfeae3;
    background: #fff;
    color: #4b5a50;
    font-size: 0.84rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.wecy-chip:hover span {
    border-color: #0AAD36;
    color: #0AAD36;
}

.wecy-chip input:checked + span {
    background: #0AAD36;
    border-color: #0AAD36;
    color: #fff;
}

.wecy-filter__cats {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wecy-filter__cats li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #3c4a42;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.wecy-filter__cats li:hover {
    background: #f3faf5;
    color: #0AAD36;
}

.wecy-filter__cats li.active {
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-weight: 700;
}

.wecy-filter__cats li i {
    font-size: 1rem;
    opacity: 0.5;
}

.wecy-filter__date {
    display: flex;
    gap: 8px;
}

.wecy-filter__date .form-control {
    border: 1px solid #e2e8e4;
    border-radius: 10px;
}

.wecy-filter__clear {
    flex: 0 0 42px;
    width: 42px;
    border: 1px solid #e2e8e4;
    border-radius: 10px;
    background: #fff;
    color: #a23b3b;
    cursor: pointer;
}

.wecy-filter__clear:hover {
    background: #fdf2f2;
}

/* Mobile filter bar */
.wecy-mobile-filter {
    display: flex;
    gap: 10px;
    align-items: center;
}

.wecy-mobile-filter .input-group {
    flex: 1;
    border: 1px solid #e2e8e4;
    border-radius: 10px;
    overflow: hidden;
}

.wecy-mobile-filter .input-group .form-control {
    border: 0;
    box-shadow: none;
}

.wecy-mobile-filter .input-group .input-group-text {
    background: #0AAD36;
    color: #fff;
    border: 0;
}

.wecy-mobile-filter__btn {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border: 0;
    background: #0B3D1F;
    color: #fff;
    font-size: 1.2rem;
}

/* Cause card */
.wecy-cause-card__flag {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    background: #f2b705;
    color: #3d2c00;
    font-size: 0.72rem;
    font-weight: 700;
}

.wecy-cause-card__goal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    margin-bottom: 16px;
    border-radius: 10px;
    background: #f5faf7;
    font-size: 0.86rem;
}

.wecy-cause-card__goal-label {
    color: #6b7a70;
    font-weight: 600;
}

.wecy-cause-card__goal-value {
    color: #0B3D1F;
    font-weight: 800;
}

.wecy-card__link--support {
    background: rgba(10, 173, 54, 0.1);
    padding: 7px 14px;
    border-radius: 999px;
}

.wecy-card__link--support:hover {
    background: #0AAD36;
    color: #fff;
}

@media (max-width: 1199px) {
    .campaigns-page {
        padding-top: 90px;
    }

    .campaign-sidebar__inner {
        position: static;
    }
}

@media (max-width: 767px) {
    .campaigns-page {
        padding-top: 84px;
    }
}
/* --- focus area cards --- */
.wecy-cats {
    padding: clamp(56px, 8vw, 104px) 0;
    background: rgba(10, 173, 54, 0.035);
}

.wecy-cats__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.wecy-cat-card {
    position: relative;
    display: block;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    color: #fff;
    box-shadow: 0 14px 34px rgba(11, 61, 31, 0.1);
}

.wecy-cat-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.wecy-cat-card:hover img {
    transform: scale(1.07);
}

.wecy-cat-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 30, 16, 0.05) 30%, rgba(6, 30, 16, 0.85) 100%);
}

.wecy-cat-card__body {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.wecy-cat-card__title {
    font-size: 1.02rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.wecy-cat-card__count {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.82);
}

.wecy-cat-card__arrow {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}

.wecy-cat-card:hover .wecy-cat-card__arrow {
    background: #0AAD36;
    border-color: #0AAD36;
}

@media (max-width: 991px) {
    .wecy-cats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .wecy-cats__grid {
        grid-template-columns: 1fr;
    }
}
/* --- sticky filter sidebar --- */
/* The sticky element was constrained by its parent, which was only as tall as
   its own content. Stretch the wrapper to the column so it can stick, and only
   on desktop. Below xl the sidebar is an offcanvas drawer. */
.campaign-sidebar {
    height: 100%;
}

.campaign-sidebar__inner {
    position: static;
    overflow: visible;
    max-height: none;
}

@media (min-width: 1200px) {
    .campaign-sidebar__inner {
        position: sticky;
        top: 100px;
    }
}

@media (max-width: 1199px) {
    .campaign-sidebar {
        height: auto;
    }
}
/* --- projects listing redesign --- */
.projects-page {
    padding-top: 128px;
}

.wecy-projects-listing {
    padding-bottom: clamp(56px, 8vw, 96px);
}

.wecy-status-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 40px;
}

.wecy-status-chip {
    display: inline-block;
    padding: 9px 22px;
    border-radius: 999px;
    border: 1px solid #dfeae3;
    background: #fff;
    color: #4b5a50;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.wecy-status-chip:hover {
    border-color: #0AAD36;
    color: #0AAD36;
}

.wecy-status-chip.active {
    background: #0AAD36;
    border-color: #0AAD36;
    color: #fff;
}

/* CTA band */
.wecy-cta-band {
    padding-bottom: clamp(56px, 8vw, 104px);
}

.wecy-cta-band__card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    background: linear-gradient(135deg, #0B3D1F 0%, #0A6b34 100%);
    border-radius: 26px;
    padding: clamp(28px, 4.5vw, 52px);
    color: #fff;
}

.wecy-cta-band__text {
    max-width: 640px;
}

.wecy-cta-band__text h3 {
    color: #fff;
    font-size: clamp(1.3rem, 2.2vw, 1.9rem);
    line-height: 1.2;
    margin-bottom: 10px;
}

.wecy-cta-band__text p {
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 0;
}

.wecy-cta-band__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.wecy-cta-band__actions .btn {
    border-radius: 999px;
    padding: 13px 28px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 1199px) {
    .projects-page {
        padding-top: 90px;
    }
}

@media (max-width: 767px) {
    .projects-page {
        padding-top: 84px;
    }
}
/* --- mission & vision --- */
.wecy-mv {
    padding: clamp(56px, 8vw, 104px) 0;
}

.wecy-mv--reverse {
    background: rgba(10, 173, 54, 0.035);
}

.wecy-mv__grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 64px;
    align-items: center;
}

.wecy-mv__media {
    position: relative;
}

.wecy-mv__media img {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.16);
}

.wecy-mv__shape {
    position: absolute;
    inset: auto -16px -16px auto;
    width: 55%;
    height: 55%;
    border-radius: 24px;
    background: linear-gradient(140deg, rgba(10, 173, 54, 0.16), transparent);
}

.wecy-mv__title {
    font-size: clamp(1.5rem, 2.6vw, 2.2rem);
    line-height: 1.2;
    color: #0B3D1F;
    margin: 14px 0;
}

.wecy-mv__text {
    color: #4b5a50;
    margin-bottom: 22px;
}

.wecy-mv__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

.wecy-mv__list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #21352a;
    font-weight: 600;
    font-size: 0.92rem;
}

.wecy-mv__check {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(10, 173, 54, 0.14);
    color: #0AAD36;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    margin-top: 1px;
}

.wecy-mv__sub {
    display: block;
    font-weight: 400;
    color: #62716a;
    font-size: 0.86rem;
    margin-top: 2px;
}

.wecy-mv--reverse .wecy-mv__media { order: 2; }
.wecy-mv--reverse .wecy-mv__body { order: 1; }

@media (max-width: 991px) {
    .wecy-mv__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .wecy-mv--reverse .wecy-mv__media { order: 0; }
    .wecy-mv--reverse .wecy-mv__body { order: 0; }

    .wecy-mv__media {
        max-width: 560px;
        margin-inline: auto;
    }
}

@media (max-width: 575px) {
    .wecy-mv__list {
        grid-template-columns: 1fr;
    }
}
/* --- clip decorative shapes --- */
.wecy-about,
.wecy-mv {
    overflow-x: clip;
}
/* --- about page unique --- */
.index-page > .about-hero {
    padding-top: 150px !important;
    padding-bottom: 54px !important;
}

.about-hero__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 48px;
    align-items: center;
}

.about-hero__card {
    background: linear-gradient(150deg, #0B3D1F, #0A6b34);
    border-radius: 22px;
    padding: 34px;
    color: #fff;
    box-shadow: 0 24px 50px rgba(11, 61, 31, 0.18);
}

.about-hero__card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.14);
    color: #6fe39a;
    font-size: 1.5rem;
    margin-bottom: 18px;
}

.about-hero__quote {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 6px;
}

.about-hero__card-label {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* story */
.wecy-story__grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 56px;
    align-items: start;
}

.wecy-story__title {
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    color: #0B3D1F;
    line-height: 1.2;
    margin: 14px 0 16px;
}

.wecy-story__intro p {
    color: #4b5a50;
    margin-bottom: 14px;
}

.wecy-tl {
    position: relative;
    padding: 0 0 26px 34px;
    border-left: 2px solid #dfeae3;
}

.wecy-tl:last-child {
    padding-bottom: 0;
    border-left-color: transparent;
}

.wecy-tl__dot {
    position: absolute;
    left: -9px;
    top: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0AAD36;
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px #cdebd8;
}

.wecy-tl__year {
    display: inline-block;
    font-weight: 800;
    color: #0AAD36;
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.wecy-tl__content h4 {
    font-size: 1.05rem;
    color: #0B3D1F;
    margin-bottom: 3px;
}

.wecy-tl__content p {
    color: #62716a;
    font-size: 0.9rem;
    margin: 0;
}

/* values */
.wecy-values__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 56px;
}

.wecy-value {
    display: flex;
    gap: 18px;
    padding: 26px 0;
    border-bottom: 1px solid #e9ecef;
}

.wecy-value__num {
    font-size: 1.6rem;
    font-weight: 800;
    color: #cdebd8;
    line-height: 1;
    flex: 0 0 auto;
}

.wecy-value__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.1rem;
    color: #0B3D1F;
    margin-bottom: 6px;
}

.wecy-value__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 1.05rem;
}

.wecy-value__text {
    color: #62716a;
    font-size: 0.9rem;
    margin: 0;
}

@media (max-width: 1199px) {
    .index-page > .about-hero {
        padding-top: 96px !important;
    }
}

@media (max-width: 991px) {
    .about-hero__grid,
    .wecy-story__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .wecy-values__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

@media (max-width: 767px) {
    .index-page > .about-hero {
        padding-top: 84px !important;
    }
}
/* --- about refinements --- */
/* Tighter, balanced rhythm on the About page */
.about-page {
    --section-y: clamp(44px, 5vw, 72px);
}

/* Hero sits comfortably below the fixed header (like the project page) */
.index-page > .about-hero {
    padding-top: 148px !important;
    padding-bottom: 44px !important;
}

/* Brighter, bolder motto card */
.about-hero__card {
    background: linear-gradient(150deg, #0AAD36 0%, #0B3D1F 100%);
    color: #fff;
}

.about-hero__card-icon {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.about-hero__quote {
    color: #ffffff !important;
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.about-hero__card-label {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
}

/* tighten the story / values spacing a touch */
.wecy-story {
    padding-top: clamp(40px, 5vw, 68px);
}

@media (max-width: 1199px) {
    .index-page > .about-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .index-page > .about-hero {
        padding-top: 80px !important;
        padding-bottom: 36px !important;
    }
}
/* --- homepage tighter rhythm --- */
.index-page {
    --section-y: clamp(34px, 3.6vw, 48px);
}
/* --- partner wall --- */
.wecy-partners {
    margin-top: 52px;
}

.wecy-partners__label {
    text-align: center;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #9aa8a0;
    margin-bottom: 24px;
}

.wecy-partners__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}

.wecy-partner {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 226px;
    padding: 18px 22px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    filter: grayscale(1);
    opacity: 0.6;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.35s ease, filter 0.35s ease;
}

.wecy-partner:hover {
    filter: none;
    opacity: 1;
    transform: translateY(-6px);
    border-color: rgba(10, 173, 54, 0.4);
    box-shadow: 0 18px 40px rgba(11, 61, 31, 0.13);
}

.wecy-partner__mark {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef4f0;
    color: #0B3D1F;
    font-size: 1.4rem;
    transition: background 0.35s ease, color 0.35s ease;
}

.wecy-partner:hover .wecy-partner__mark {
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
}

.wecy-partner__name {
    display: block;
    font-weight: 800;
    color: #21352a;
    font-size: 0.98rem;
    line-height: 1.25;
}

.wecy-partner__type {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #6b7a70;
    margin-top: 3px;
}

@media (max-width: 575px) {
    .wecy-partner {
        min-width: 100%;
    }
}
/* --- partner logo wall --- */
.wecy-partners__wall {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 30px 46px;
}

.wecy-partners .wecy-partner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    height: 66px;
    filter: grayscale(1);
    opacity: 0.72;
    transition: transform 0.3s ease, opacity 0.3s ease, filter 0.3s ease;
}

.wecy-partners .wecy-partner img {
    display: block;
    width: auto;
    max-height: 66px;
    max-width: 200px;
    object-fit: contain;
    background: transparent;
    box-shadow: none;
}

.wecy-partners .wecy-partner:hover {
    filter: none;
    opacity: 1;
    transform: translateY(-5px);
}

@media (max-width: 1199px) {
    .wecy-partners .wecy-partner {
        height: 54px;
    }

    .wecy-partners .wecy-partner img {
        max-height: 54px;
        max-width: 155px;
    }
}

@media (max-width: 991px) {
    .wecy-partners__wall {
        flex-wrap: wrap;
        gap: 22px 34px;
    }
}

@media (max-width: 575px) {
    .wecy-partners .wecy-partner {
        height: 44px;
    }

    .wecy-partners .wecy-partner img {
        max-height: 44px;
        max-width: 128px;
    }
}
/* --- partner logo sizes (reduced) --- */
.wecy-partners .wecy-partner {
    height: 54px;
}

.wecy-partners .wecy-partner img {
    max-height: 54px;
    max-width: 168px;
}

@media (max-width: 1199px) {
    .wecy-partners .wecy-partner {
        height: 46px;
    }

    .wecy-partners .wecy-partner img {
        max-height: 46px;
        max-width: 138px;
    }
}

@media (max-width: 575px) {
    .wecy-partners .wecy-partner {
        height: 38px;
    }

    .wecy-partners .wecy-partner img {
        max-height: 38px;
        max-width: 112px;
    }
}
/* --- stories listing polish --- */
.stories-page {
    padding-top: 128px;
}

.wecy-blog {
    padding-bottom: clamp(56px, 8vw, 96px);
}

.wecy-filter__cats li a {
    display: block;
    width: 100%;
    color: inherit;
}

@media (max-width: 1199px) {
    .stories-page {
        padding-top: 90px;
    }
}

@media (max-width: 767px) {
    .stories-page {
        padding-top: 84px;
    }
}
/* --- hero top gap (sub-1200) --- */
/* Below 1200px the top bar is hidden so the header is short; give the page
   heroes a comfortable gap below it (matching the >=1200 look). */
@media (max-width: 1199px) {
    .projects-page,
    .campaigns-page,
    .stories-page {
        padding-top: 120px !important;
    }
}

@media (max-width: 767px) {
    .projects-page,
    .campaigns-page,
    .stories-page {
        padding-top: 104px !important;
    }
}
/* --- unified hero padding (match About) --- */
.projects-page,
.campaigns-page,
.stories-page {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .projects-page,
    .campaigns-page,
    .stories-page {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .projects-page,
    .campaigns-page,
    .stories-page {
        padding-top: 80px !important;
    }
}
/* --- breadcrumb pages match hero gap --- */
@media (min-width: 992px) {
    .wecy-hero-match .breadcrumb-wrapper {
        padding-top: 126px !important;
    }
}

@media (max-width: 991px) {
    .wecy-hero-match .breadcrumb-wrapper {
        padding-top: 78px !important;
    }
}
/* --- breadcrumb pages match hero gap v2 --- */
@media (max-width: 991px) {
    .wecy-hero-match .breadcrumb-wrapper {
        padding-top: 58px !important;
    }
}
/* --- breadcrumb pages match hero gap v3 --- */
@media (min-width: 1200px) {
    .wecy-hero-match .breadcrumb-wrapper {
        padding-top: 126px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .wecy-hero-match .breadcrumb-wrapper {
        padding-top: 70px !important;
    }
}

@media (max-width: 767px) {
    .wecy-hero-match .breadcrumb-wrapper {
        padding-top: 58px !important;
    }
}
/* --- hero background connects to menu --- */
/* Padding moved from <main> to the hero so the hero background (and its
   light-green tint) starts at the very top and connects with the menu,
   exactly like the About page. */
.projects-page,
.campaigns-page,
.stories-page {
    padding-top: 0 !important;
}

.projects-page > .wecy-page-hero,
.campaigns-page > .wecy-page-hero,
.stories-page > .wecy-page-hero {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .projects-page > .wecy-page-hero,
    .campaigns-page > .wecy-page-hero,
    .stories-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .projects-page > .wecy-page-hero,
    .campaigns-page > .wecy-page-hero,
    .stories-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}
/* --- events & gallery hero connect --- */
.events-page,
.gallery-page {
    padding-top: 0 !important;
}

.events-page > .wecy-page-hero,
.gallery-page > .wecy-page-hero {
    padding-top: 148px !important;
}

.wecy-events-list,
.wecy-gallery-list {
    padding-bottom: clamp(56px, 8vw, 96px);
}

.wecy-album-card .wecy-card__thumb {
    aspect-ratio: 4 / 3;
}

.wecy-album-card__count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(11, 61, 31, 0.85);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 1199px) {
    .events-page > .wecy-page-hero,
    .gallery-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .events-page > .wecy-page-hero,
    .gallery-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}
/* --- events page pro --- */
.wecy-event-stats {
    padding-bottom: clamp(40px, 5vw, 64px);
}

.wecy-event-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.wecy-event-stat {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 20px 22px;
    box-shadow: 0 12px 30px rgba(11, 61, 31, 0.05);
}

.wecy-event-stat__icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 1.35rem;
}

.wecy-event-stat__num {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #0B3D1F;
    line-height: 1;
}

.wecy-event-stat__label {
    display: block;
    font-size: 0.82rem;
    color: #6b7a70;
    margin-top: 4px;
}

.wecy-events-block {
    padding-bottom: clamp(48px, 6vw, 80px);
}

.wecy-events-block__head {
    max-width: 660px;
    margin-bottom: 34px;
}

.wecy-events-block__title {
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    color: #0B3D1F;
    line-height: 1.2;
    margin: 12px 0 10px;
}

.wecy-events-block__text {
    color: #5b6b60;
    margin-bottom: 0;
}

/* Past events - distinct muted treatment */
.wecy-events-block--past {
    background: #f5f7f6;
    border-radius: 26px;
    padding: clamp(30px, 4vw, 54px);
}

.wecy-past-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.wecy-past-card {
    display: block;
    background: #fff;
    border: 1px solid #e6e9e7;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wecy-past-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(11, 61, 31, 0.1);
}

.wecy-past-card__thumb {
    position: relative;
    margin: 0;
    aspect-ratio: 966 / 450;
    overflow: hidden;
    background: #eef1ef;
}

.wecy-past-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    opacity: 0.75;
    transition: filter 0.35s ease, opacity 0.35s ease, transform 0.4s ease;
}

.wecy-past-card:hover .wecy-past-card__thumb img {
    filter: none;
    opacity: 1;
    transform: scale(1.04);
}

.wecy-past-card__tag {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #4b5563;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.wecy-past-card__body {
    padding: 16px 18px 18px;
}

.wecy-past-card__date,
.wecy-past-card__loc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: #8a958f;
}

.wecy-past-card__date i,
.wecy-past-card__loc i {
    color: #9aa8a0;
}

.wecy-past-card__title {
    font-size: 1.02rem;
    color: #4a5650;
    margin: 6px 0;
    line-height: 1.3;
}

.wecy-past-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(10, 173, 54, 0.10);
    border: 1px solid rgba(10, 173, 54, 0.28);
    font-size: 0.8rem;
    font-weight: 700;
    color: #0AAD36;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.wecy-past-card__cta i {
    transition: transform 0.2s ease;
}

.wecy-past-card:hover .wecy-past-card__cta {
    background: #0AAD36;
    border-color: #0AAD36;
    color: #fff;
}

.wecy-past-card:hover .wecy-past-card__cta i {
    transform: translateX(3px);
}

@media (max-width: 991px) {
    .wecy-event-stats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wecy-past-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .wecy-event-stats__grid,
    .wecy-past-grid {
        grid-template-columns: 1fr;
    }
}
/* --- gallery album wall --- */
.wecy-gallery-list {
    padding-bottom: clamp(56px, 8vw, 96px);
}

.wecy-gallery-list__head {
    max-width: 660px;
    margin-bottom: 34px;
}

.wecy-gallery-list__title {
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    color: #0B3D1F;
    line-height: 1.2;
    margin: 12px 0 0;
}

.wecy-album {
    border-radius: 20px;
}

.wecy-album__link {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(11, 61, 31, 0.08);
}

.wecy-album__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.wecy-album__link:hover .wecy-album__img {
    transform: scale(1.07);
}

.wecy-album__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 30, 16, 0) 30%, rgba(6, 30, 16, 0.92) 100%);
}

.wecy-album__count {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #0B3D1F;
    font-size: 0.76rem;
    font-weight: 700;
}

.wecy-album__body {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    z-index: 2;
    display: flex;
    flex-direction: column;
}

.wecy-album__title {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 6px;
}

.wecy-album__desc {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 10px;
}

.wecy-album__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 0.88rem;
    color: #fff;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.wecy-album__link:hover .wecy-album__cta {
    opacity: 1;
    transform: translateY(0);
}

.wecy-album__cta i {
    transition: transform 0.3s ease;
}

.wecy-album__link:hover .wecy-album__cta i {
    transform: translateX(4px);
}
/* --- contact page pro --- */
.contact-page {
    padding-top: 0 !important;
}

.contact-page > .wecy-page-hero {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .contact-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .contact-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}

.wecy-contact {
    padding-bottom: clamp(56px, 8vw, 96px);
}

.wecy-contact__grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 40px;
    align-items: start;
}

.wecy-contact__info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wecy-contact-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 22px 24px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

a.wecy-contact-card {
    text-decoration: none;
}

a.wecy-contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(11, 61, 31, 0.1);
    border-color: rgba(10, 173, 54, 0.35);
}

.wecy-contact-card__icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-size: 1.4rem;
}

.wecy-contact-card--whatsapp .wecy-contact-card__icon {
    background: rgba(37, 211, 102, 0.14);
    color: #1eae54;
}

.wecy-contact-card__title {
    font-size: 1.02rem;
    color: #0B3D1F;
    margin-bottom: 5px;
}

.wecy-contact-card__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: #5b6b60;
    font-size: 0.92rem;
    margin: 0;
}

.wecy-contact-card__text a {
    color: #5b6b60;
}

.wecy-contact-card__text a:hover {
    color: #0AAD36;
}

.wecy-contact-card__address {
    display: block;
    line-height: 1.6;
}

.wecy-contact-card__directions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #0AAD36;
    transition: gap 0.2s ease, color 0.2s ease;
}

.wecy-contact-card__directions:hover {
    color: #0B3D1F;
    gap: 9px;
}

.wecy-contact-card__arrow {
    margin-left: auto;
    color: #0AAD36;
    font-size: 1.2rem;
}

.wecy-contact__form {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 22px;
    padding: clamp(26px, 3vw, 40px);
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.08);
}

.wecy-contact__form-title {
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    color: #0B3D1F;
    margin-bottom: 6px;
}

.wecy-contact__form-text {
    color: #6b7a70;
    font-size: 0.92rem;
    margin-bottom: 22px;
}

.wecy-contact__form .form--control {
    background: #f7faf8;
    border: 1px solid #e2e8e4;
    border-radius: 10px;
}

.wecy-contact__form .form--control:focus {
    border-color: #0AAD36;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(10, 173, 54, 0.12);
}

.wecy-contact__submit {
    border-radius: 999px;
    padding: 14px 30px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.wecy-map {
    padding-bottom: clamp(56px, 8vw, 96px);
}

.wecy-map__frame {
    height: 380px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid #e9ecef;
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.08);
}

@media (max-width: 991px) {
    .wecy-contact__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 575px) {
    .wecy-map__frame {
        height: 300px;
    }
}
/* --- contact math + partners --- */
.wecy-math {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f7faf8;
    border: 1px solid #e2e8e4;
    border-radius: 10px;
    padding: 5px 5px 5px 16px;
}

.wecy-math__q {
    font-weight: 800;
    color: #0B3D1F;
    font-size: 1.05rem;
    white-space: nowrap;
}

.wecy-math__input {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center;
    font-weight: 700;
    width: 96px;
    padding: 8px !important;
}

.wecy-math__hint {
    display: block;
    color: #8a958f;
    font-size: 0.76rem;
    margin-top: 6px;
}

.wecy-contact-partners {
    padding-bottom: clamp(56px, 8vw, 96px);
}

.wecy-contact-partners .wecy-partners {
    margin-top: 0;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 22px;
    padding: clamp(28px, 4vw, 46px) clamp(20px, 3vw, 40px);
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.06);
}

.wecy-contact-partners .wecy-partners__label {
    margin-bottom: 26px;
}

.wecy-contact-partners .wecy-partners__wall {
    flex-wrap: wrap;
}

/* --- partnership page --- */
.partnership-page {
    padding-top: 0 !important;
}

.partnership-page > .wecy-page-hero {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .partnership-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .partnership-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}

.wecy-partner-intro,
.wecy-partner-types,
.wecy-partner-support,
.wecy-partner-tracks {
    padding: clamp(32px, 4vw, 56px) 0;
}

.wecy-partner-intro__grid {
    display: grid;
    grid-template-columns: 1fr 0.95fr;
    gap: 40px;
    align-items: center;
}

.wecy-partner-intro__title {
    font-size: clamp(1.55rem, 2.7vw, 2.3rem);
    line-height: 1.2;
    color: #0B3D1F;
    margin: 14px 0 16px;
}

.wecy-partner-intro__copy p {
    color: #5b6b60;
    font-size: 1.02rem;
    margin-bottom: 26px;
}

.wecy-partner-intro__btn {
    border-radius: 999px;
    padding: 13px 30px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.wecy-partner-note {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, #0B3D1F 0%, #0a6b34 100%);
    color: #fff;
    border-radius: 24px;
    padding: clamp(26px, 3.4vw, 40px);
    box-shadow: 0 24px 54px rgba(11, 61, 31, 0.18);
}

.wecy-partner-note__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.6rem;
    margin-bottom: 18px;
}

.wecy-partner-note__title {
    color: #fff;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.wecy-partner-note__text {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.96rem;
    margin-bottom: 18px;
}

.wecy-partner-note__tags {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.wecy-tag {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.wecy-tag:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.3);
}

.wecy-tag i {
    flex: 0 0 auto;
    color: #7ee29a;
    font-size: 1rem;
}

.wecy-pgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.wecy-pcard {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 18px 20px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wecy-pcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(11, 61, 31, 0.08);
    border-color: rgba(10, 173, 54, 0.35);
}

.wecy-pcard__icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-size: 1.35rem;
}

.wecy-pcard__title {
    font-weight: 600;
    color: #21352a;
    font-size: 0.95rem;
    line-height: 1.3;
}

.wecy-partner-support {
    background: #f6faf7;
}

.wecy-support-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 980px;
    margin: 0 auto;
}

.wecy-support-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #dfeae3;
    border-radius: 999px;
    padding: 11px 20px;
    font-weight: 600;
    color: #21352a;
    font-size: 0.92rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.wecy-support-chip i {
    color: #0AAD36;
    font-size: 1.15rem;
}

.wecy-support-chip:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(11, 61, 31, 0.1);
    border-color: rgba(10, 173, 54, 0.4);
}

.wecy-tracks {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}

.wecy-track-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: 30px 28px;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.wecy-track-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #0AAD36, #0B3D1F);
    opacity: 0;
    transition: opacity 0.28s ease;
}

.wecy-track-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 54px rgba(11, 61, 31, 0.12);
    border-color: rgba(10, 173, 54, 0.3);
}

.wecy-track-card:hover::before {
    opacity: 1;
}

.wecy-track-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 18px;
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-size: 1.7rem;
    margin-bottom: 18px;
}

.wecy-track-card__title {
    font-size: 1.12rem;
    line-height: 1.3;
    color: #0B3D1F;
    margin-bottom: 10px;
}

.wecy-track-card__text {
    color: #5b6b60;
    font-size: 0.94rem;
    margin-bottom: 18px;
    flex: 1;
}

.wecy-track-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0AAD36;
    font-weight: 700;
    font-size: 0.9rem;
}

.wecy-track-card__link:hover {
    color: #0B3D1F;
}

@media (max-width: 991px) {
    .wecy-partner-intro__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

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

    .wecy-pcard {
        padding: 14px;
        gap: 10px;
    }

    .wecy-pcard__icon {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        font-size: 1.15rem;
    }

    .wecy-pcard__title {
        font-size: 0.86rem;
    }

    .wecy-tracks {
        grid-template-columns: 1fr;
    }

    .wecy-track-card {
        padding: 24px 22px;
    }
}

@media (max-width: 359px) {
    .wecy-pgrid {
        grid-template-columns: 1fr;
    }
}

/* --- homepage events: upcoming vs past --- */
.wecy-card--upcoming {
    position: relative;
    border-color: rgba(10, 173, 54, 0.35);
    box-shadow: 0 16px 38px rgba(11, 61, 31, 0.1);
}

.wecy-card--upcoming::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #0AAD36, #0B3D1F);
    z-index: 3;
}

.wecy-event__join {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #0AAD36;
    color: #fff !important;
    font-weight: 700;
    font-size: 0.84rem;
    padding: 8px 16px;
    border-radius: 999px;
    white-space: nowrap;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.wecy-event__join:hover {
    background: #0B3D1F;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(11, 61, 31, 0.22);
}

.wecy-events__divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 14px 0 2px;
    color: #8a958f;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.76rem;
}

.wecy-events__divider::before,
.wecy-events__divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e5ebe7;
}

.wecy-events__divider span {
    white-space: nowrap;
}

.wecy-card--past {
    border-color: #e9ecef;
    box-shadow: none;
}

.wecy-card--past .wecy-card__thumb img {
    filter: grayscale(0.55);
    opacity: 0.92;
}

.wecy-card--past:hover .wecy-card__thumb img {
    filter: grayscale(0.2);
}

.wecy-card--past .wecy-card__title {
    color: #4f5d56;
}

.wecy-card--past .wecy-card__text {
    color: #7b8a82;
}

.wecy-event__date--past {
    background: #4b5563;
}

/* Past/finished events use a dark date badge, so the text must be light. */
.wecy-event__date--past strong {
    color: #ffffff;
}

.wecy-event__date--past small {
    color: #9be7b8;
}

.wecy-event__past-note {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.84rem;
    font-weight: 600;
    color: #8a958f;
}

.wecy-event__past-note i {
    color: #9aa8a0;
}
/* --- policy pages (privacy, terms) --- */
.policy-page {
    padding-top: 0 !important;
}

.policy-page > .wecy-page-hero {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .policy-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .policy-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}

.wecy-policy {
    padding: clamp(40px, 5.5vw, 76px) 0 clamp(56px, 7vw, 96px);
}

.wecy-policy__layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

.wecy-policy__toc {
    align-self: stretch;
}

.wecy-policy__toc-inner {
    position: sticky;
    top: 110px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    padding: 22px 20px 14px;
    box-shadow: 0 14px 34px rgba(11, 61, 31, 0.06);
}

.wecy-policy__toc-title {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #0B3D1F;
    margin-bottom: 14px;
}

.wecy-policy__toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: min(62vh, 540px);
    overflow-y: auto;
}

.wecy-policy__toc-list li {
    margin: 0;
}

.wecy-policy__toc-list a {
    display: block;
    padding: 7px 10px;
    border-radius: 9px;
    font-size: 0.85rem;
    line-height: 1.35;
    color: #5b6b60;
    transition: background 0.2s ease, color 0.2s ease;
}

.wecy-policy__toc-list a:hover {
    background: rgba(10, 173, 54, 0.08);
    color: #0B3D1F;
}

.wecy-policy__toc-list a.is-active {
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-weight: 600;
}

.wecy-policy__content {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 22px;
    padding: clamp(24px, 4vw, 46px);
    box-shadow: 0 20px 50px rgba(11, 61, 31, 0.07);
    color: #3f4d45;
    font-size: 1rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.wecy-policy__content .policy-updated {
    display: inline-block;
    background: rgba(10, 173, 54, 0.08);
    border: 1px solid rgba(10, 173, 54, 0.22);
    color: #0B3D1F;
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 0.82rem;
    margin: 0 0 24px;
}

.wecy-policy__content h2 {
    scroll-margin-top: 110px;
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
    line-height: 1.3;
    color: #0B3D1F;
    margin: 36px 0 14px;
    padding-bottom: 9px;
    border-bottom: 2px solid rgba(10, 173, 54, 0.15);
}

.wecy-policy__content > h2:first-of-type {
    margin-top: 6px;
}

.wecy-policy__content h3 {
    font-size: 1.05rem;
    color: #0B3D1F;
    margin: 24px 0 8px;
}

.wecy-policy__content p {
    margin-bottom: 14px;
}

.wecy-policy__content ul {
    margin: 0 0 16px;
    padding-left: 1.25rem;
    list-style: disc;
}

.wecy-policy__content li {
    margin-bottom: 8px;
}

.wecy-policy__content a {
    color: #0AAD36;
    font-weight: 600;
}

.wecy-policy__content a:hover {
    color: #0B3D1F;
}

.wecy-policy__content strong {
    color: #0B3D1F;
}

@media (max-width: 991px) {
    .wecy-policy__layout {
        grid-template-columns: 1fr;
    }

    .wecy-policy__toc {
        display: none;
    }
}

/* --- donation page --- */
.donation-page {
    padding-top: 0 !important;
}

.donation-page > .wecy-page-hero {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .donation-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .donation-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}

.wecy-donate {
    padding: clamp(40px, 5.5vw, 72px) 0;
}

.wecy-donate__grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(24px, 3.5vw, 48px);
    align-items: stretch;
}

.wecy-paybill {
    position: relative;
    overflow: hidden;
    background: linear-gradient(150deg, #0B3D1F 0%, #0a6b34 100%);
    color: #fff;
    border-radius: 24px;
    padding: clamp(26px, 3.4vw, 40px);
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.2);
}

.wecy-paybill::after {
    content: "";
    position: absolute;
    right: -60px;
    top: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
}

.wecy-paybill__head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.wecy-paybill__logo {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.6rem;
}

.wecy-paybill__label {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #9ff0ba;
    font-weight: 700;
}

.wecy-paybill__title {
    color: #fff;
    font-size: 1.35rem;
    margin: 2px 0 0;
}

.wecy-paybill__rows {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wecy-paybill__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    padding: 14px 16px;
}

.wecy-paybill__key {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 600;
}

.wecy-paybill__val {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #fff;
}

.wecy-paybill__val--name {
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0;
    text-align: right;
    line-height: 1.4;
}

.wecy-copy {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: background 0.2s ease, transform 0.2s ease;
}

.wecy-copy:hover {
    background: #0AAD36;
    transform: translateY(-1px);
}

.wecy-paybill__note {
    position: relative;
    z-index: 1;
    margin: 20px 0 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.72);
    display: flex;
    align-items: center;
    gap: 8px;
}

.wecy-paybill__note i {
    color: #9ff0ba;
    font-size: 1.1rem;
}

.wecy-donate__steps {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 24px;
    padding: clamp(24px, 3.2vw, 38px);
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.06);
}

.wecy-donate__steps-title {
    font-size: 1.2rem;
    color: #0B3D1F;
    margin-bottom: 18px;
}

.wecy-steps {
    counter-reset: step;
    list-style: none;
    margin: 0;
    padding: 0;
}

.wecy-steps li {
    position: relative;
    counter-increment: step;
    padding: 0 0 16px 46px;
    color: #4a574f;
    font-size: 0.94rem;
    line-height: 1.5;
}

.wecy-steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
    font-weight: 700;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wecy-steps li:last-child {
    padding-bottom: 0;
}

.wecy-steps strong {
    color: #0B3D1F;
}

.wecy-donate__steps-note {
    margin: 20px 0 0;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f3faf5;
    border: 1px solid #d9f0e1;
    color: #1f5133;
    font-size: 0.85rem;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.wecy-donate__steps-note i {
    color: #0AAD36;
    font-size: 1.15rem;
}

.wecy-donate-impact {
    padding: clamp(40px, 5.5vw, 76px) 0;
    background: #f6faf7;
}

.wecy-donate-impact__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.wecy-impact-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    padding: 26px 24px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wecy-impact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 44px rgba(11, 61, 31, 0.1);
    border-color: rgba(10, 173, 54, 0.3);
}

.wecy-impact-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 15px;
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-size: 1.55rem;
    margin-bottom: 16px;
}

.wecy-impact-card__title {
    font-size: 1.02rem;
    color: #0B3D1F;
    margin-bottom: 8px;
}

.wecy-impact-card__text {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #62716a;
    margin: 0;
}

.wecy-donate-other {
    padding: clamp(40px, 5.5vw, 76px) 0;
}

.wecy-donate-other__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.wecy-other-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    padding: 26px 24px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wecy-other-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 44px rgba(11, 61, 31, 0.1);
    border-color: rgba(10, 173, 54, 0.3);
}

.wecy-other-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-size: 1.45rem;
    margin-bottom: 14px;
}

.wecy-other-card__title {
    font-size: 1.02rem;
    font-weight: 700;
    color: #0B3D1F;
    margin-bottom: 6px;
}

.wecy-other-card__text {
    font-size: 0.9rem;
    color: #62716a;
    line-height: 1.55;
    margin-bottom: 14px;
    flex: 1;
}

.wecy-other-card__link {
    font-size: 0.88rem;
    font-weight: 700;
    color: #0AAD36;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

@media (max-width: 991px) {
    .wecy-donate__grid {
        grid-template-columns: 1fr;
    }

    .wecy-donate-impact__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wecy-donate-other__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .wecy-donate-impact__grid {
        grid-template-columns: 1fr;
    }

    .wecy-paybill__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .wecy-paybill__val--name {
        text-align: left;
    }
}

/* header donate | support pill (replaces Login) */
.top-login--donate {
    display: inline-flex;
    align-items: center;
    background: #0AAD36;
    border-radius: 999px;
    padding: 3px;
    box-shadow: 0 8px 18px rgba(10, 173, 54, 0.28);
}

.top-login--donate a {
    background: transparent;
    color: #fff !important;
    padding: 6px 13px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.83rem;
    gap: 7px;
    transition: background 0.2s ease;
}

.top-login--donate a:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff !important;
    transform: none;
    box-shadow: none;
}

.top-login--donate .top-login__icon {
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
}

.top-login__sep {
    color: rgba(255, 255, 255, 0.45);
    font-weight: 300;
    font-size: 0.85rem;
    line-height: 1;
    padding: 0 1px;
}

/* --- online donation form --- */
.wecy-donate-online {
    padding: clamp(40px, 5.5vw, 72px) 0 0;
}

.wecy-online-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 26px;
    padding: clamp(24px, 4vw, 48px);
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.08);
}

/* Donation destination: friendly empty state */
.wecy-online-empty {
    text-align: center;
    padding: clamp(28px, 5vw, 52px) 20px;
    background: #f8fbf9;
    border: 1px dashed #d7e7dd;
    border-radius: 20px;
}

.wecy-online-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(10, 173, 54, 0.10);
    color: #0AAD36;
    font-size: 1.8rem;
    margin-bottom: 16px;
}

.wecy-online-empty__title {
    font-size: 1.15rem;
    color: #0B3D1F;
    margin-bottom: 8px;
}

.wecy-online-empty__text {
    max-width: 520px;
    margin: 0 auto 18px;
    color: #5b6b60;
    font-size: 0.94rem;
    line-height: 1.6;
}

.wecy-online-card__head {
    max-width: 660px;
    margin-bottom: 28px;
}

.wecy-online-card__title {
    font-size: clamp(1.4rem, 2.4vw, 1.9rem);
    color: #0B3D1F;
    margin: 12px 0 10px;
}

.wecy-online-card__text {
    color: #5b6b60;
    font-size: 0.98rem;
    margin: 0;
}

.wecy-online-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(28px, 4vw, 56px);
}

.wecy-online-form__col + .wecy-online-form__col {
    border-left: 1px solid #eef2ef;
    padding-left: clamp(0px, 4vw, 56px);
}

.wecy-online-field__label {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0AAD36;
    margin: 0 0 12px;
}

.wecy-online-form__col .wecy-online-field__label:not(:first-child) {
    margin-top: 26px;
}

.wecy-seg {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    background: #f3f6f4;
    border: 1px solid #e6ece8;
    border-radius: 999px;
    padding: 4px;
    margin-bottom: 16px;
}

.wecy-seg__btn {
    border: 0;
    background: transparent;
    padding: 9px 18px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.86rem;
    color: #5b6b60;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.wecy-seg__btn.is-active {
    background: #0AAD36;
    color: #fff;
}

.wecy-online-field {
    margin-bottom: 6px;
}

.wecy-online-field .form--label {
    font-size: 0.82rem;
    color: #4a574f;
    margin-bottom: 6px;
}

.wecy-amounts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wecy-amount-chip {
    border: 1px solid #dfeae3;
    background: #fff;
    color: #21352a;
    border-radius: 999px;
    padding: 10px 18px;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.wecy-amount-chip:hover {
    border-color: #0AAD36;
    color: #0AAD36;
}

.wecy-amount-chip.is-active {
    background: #0AAD36;
    border-color: #0AAD36;
    color: #fff;
}

.wecy-amount-custom {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 200px;
    border: 1px solid #dfeae3;
    border-radius: 999px;
    padding: 0 16px;
    background: #fff;
}

.wecy-amount-custom:focus-within {
    border-color: #0AAD36;
    box-shadow: 0 0 0 3px rgba(10, 173, 54, 0.12);
}

.wecy-amount-custom__sym {
    color: #0B3D1F;
    font-weight: 700;
}

.wecy-amount-custom .form--control {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 11px 0;
    height: auto;
}

.wecy-online-submit {
    width: 100%;
    border-radius: 999px;
    padding: 14px 24px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 22px;
}

.wecy-online-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 12px 0 0;
    font-size: 0.82rem;
    color: #8a958f;
}

.wecy-online-secure i {
    color: #0AAD36;
    font-size: 1rem;
}

/* paybill method chips */
.wecy-paybill__methods {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.wecy-paybill__method {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
}

.wecy-paybill__method i {
    color: #9ff0ba;
    font-size: 0.95rem;
}

@media (max-width: 991px) {
    .wecy-online-form__grid {
        grid-template-columns: 1fr;
    }

    .wecy-online-form__col + .wecy-online-form__col {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid #eef2ef;
        padding-top: 28px;
    }
}

/* --- deposit / payment step page --- */
.deposit-page {
    padding-top: 0 !important;
}

.deposit-page > .wecy-page-hero {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .deposit-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .deposit-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}

.wecy-steps-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 26px;
    margin: 22px 0 0;
}

.wecy-steps-bar li {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #8a958f;
}

.wecy-steps-bar li span {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9efeb;
    color: #8a958f;
    font-size: 0.78rem;
    font-weight: 700;
}

.wecy-steps-bar li.is-done {
    color: #0B3D1F;
}

.wecy-steps-bar li.is-done span {
    background: rgba(10, 173, 54, 0.15);
    color: #0AAD36;
}

.wecy-steps-bar li.is-active {
    color: #0B3D1F;
}

.wecy-steps-bar li.is-active span {
    background: #0AAD36;
    color: #fff;
}

.wecy-deposit {
    padding: clamp(34px, 4.5vw, 60px) 0 clamp(56px, 7vw, 96px);
}

.wecy-deposit__grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: clamp(24px, 3.4vw, 46px);
    align-items: start;
}

.wecy-deposit__subtitle {
    font-size: 1.05rem;
    color: #0B3D1F;
    margin-bottom: 16px;
}

.wecy-gateway-list {
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wecy-gateway-list.is-scrollable {
    max-height: none;
    overflow: visible;
}

.wecy-gateway-list .payment-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    padding: 16px 18px;
    border: 1px solid #e9ecef !important;
    border-radius: 16px !important;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.wecy-gateway-list .payment-item:hover {
    border-color: rgba(10, 173, 54, 0.4) !important;
    box-shadow: 0 12px 28px rgba(11, 61, 31, 0.07);
}

.wecy-gateway-list .payment-item:has(.payment-item__radio:checked) {
    border-color: #0AAD36 !important;
    border-left: 1px solid #0AAD36 !important;
    background: rgba(10, 173, 54, 0.03);
    box-shadow: 0 14px 32px rgba(10, 173, 54, 0.12);
}

.wecy-gateway-list .payment-item__info {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: none;
}

.wecy-gateway-list .payment-item__check {
    position: relative;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 2px solid #cfd8d2;
    border-radius: 50%;
    background: #fff;
}

.wecy-gateway-list .payment-item:has(.payment-item__radio:checked) .payment-item__check {
    border-color: #0AAD36;
    background: #0AAD36;
}

.wecy-gateway-list .payment-item:has(.payment-item__radio:checked) .payment-item__check::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.wecy-gateway-list .payment-item__name {
    padding-left: 0;
    width: auto;
    font-weight: 600;
    color: #21352a;
    font-size: 0.95rem;
}

.wecy-gateway-list .payment-item__thumb {
    width: auto;
    height: auto;
    padding-left: 0;
}

.wecy-gateway-list .payment-item__thumb img {
    max-width: 90px;
    max-height: 30px;
    object-fit: contain;
}

.wecy-gateway-list .payment-item__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 1px dashed #cfd8d2;
    border-radius: 14px;
    background: #fff;
    padding: 13px 16px;
    font-weight: 600;
    color: #0AAD36;
    cursor: pointer;
}

.wecy-summary {
    position: sticky;
    top: 110px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 22px;
    padding: clamp(22px, 3vw, 32px);
    box-shadow: 0 20px 50px rgba(11, 61, 31, 0.08);
}

.wecy-summary__title {
    font-size: 1.1rem;
    color: #0B3D1F;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eef2ef;
}

.wecy-summary .deposit-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
}

.wecy-summary .deposit-info__title,
.wecy-summary .deposit-info__input {
    max-width: none;
}

.wecy-summary .deposit-info__title .text,
.wecy-summary .deposit-info__input .text {
    font-size: 0.9rem;
    color: #5b6b60;
    margin: 0;
}

.wecy-summary .deposit-info__input .text {
    color: #0B3D1F;
    font-weight: 600;
}

.wecy-summary .total-amount {
    border-top: 1px solid #eef2ef;
    margin-top: 6px;
    padding-top: 14px;
}

.wecy-summary .total-amount .deposit-info__title .text {
    color: #0B3D1F;
    font-weight: 700;
}

.wecy-summary .total-amount .deposit-info__input .text {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0AAD36;
}

.wecy-summary .deposit-info__input-group {
    border: 1px solid #dfeae3;
    border-radius: 12px;
    overflow: hidden;
}

.wecy-summary .deposit-info__input-group .deposit-info__input-group-text {
    align-self: center;
    color: #0B3D1F;
}

.wecy-summary .deposit-info__input-group .form--control {
    text-align: right;
    font-weight: 700;
}

.wecy-summary__submit {
    border-radius: 999px;
    padding: 14px 24px;
    font-weight: 700;
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.wecy-summary__secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 12px 0 0;
    font-size: 0.8rem;
    color: #8a958f;
}

.wecy-summary__secure i {
    color: #0AAD36;
    font-size: 1rem;
}

.wecy-deposit__empty {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 24px;
    padding: clamp(30px, 5vw, 56px);
    box-shadow: 0 20px 50px rgba(11, 61, 31, 0.07);
}

.wecy-deposit__empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: 20px;
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-size: 2rem;
    margin-bottom: 18px;
}

.wecy-deposit__empty h2 {
    font-size: 1.35rem;
    color: #0B3D1F;
    margin-bottom: 10px;
}

.wecy-deposit__empty p {
    color: #62716a;
    margin-bottom: 22px;
}

@media (max-width: 991px) {
    .wecy-deposit__grid {
        grid-template-columns: 1fr;
    }

    .wecy-summary {
        position: static;
    }
}

/* --- checkout summary enhancements --- */
.deposit-amount-display {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0B3D1F;
    margin: 0;
}

.wecy-summary__target {
    background: #f6faf7;
    border: 1px solid #e2f0e7;
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.wecy-summary__target-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0AAD36;
    margin-bottom: 4px;
}

.wecy-summary__target-name {
    display: block;
    font-weight: 700;
    color: #0B3D1F;
    line-height: 1.35;
}

.wecy-summary__target-sub {
    display: block;
    font-size: 0.85rem;
    color: #62716a;
    margin-top: 2px;
}

.wecy-summary__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 16px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #eef2ef;
}

.wecy-summary__trust span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.76rem;
    font-weight: 600;
    color: #7b8a82;
}

.wecy-summary__trust i {
    color: #0AAD36;
    font-size: 0.95rem;
}

/* --- static paybill block on checkout (informational, not selectable) --- */
.wecy-checkout-paybill {
    position: relative;
    overflow: hidden;
    margin-top: 18px;
    border-radius: 18px;
    padding: 20px;
    background: linear-gradient(160deg, rgba(10, 173, 54, 0.07), rgba(10, 173, 54, 0.02));
    border: 1px dashed rgba(10, 173, 54, 0.4);
    cursor: default;
}

.wecy-checkout-paybill__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.wecy-checkout-paybill__logo {
    flex: 0 0 auto;
    max-height: 44px;
    max-width: 165px;
    object-fit: contain;
}

.wecy-checkout-paybill__icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0AAD36;
    color: #fff;
    font-size: 1.4rem;
}

.wecy-checkout-paybill__title {
    font-size: 1rem;
    color: #0B3D1F;
    margin: 0;
}

.wecy-checkout-paybill__note {
    font-size: 0.82rem;
    color: #62716a;
    margin: 3px 0 0;
}

.wecy-checkout-paybill__rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wecy-checkout-paybill__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #fff;
    border: 1px solid #e2ece6;
    border-radius: 12px;
    padding: 10px 14px;
}

.wecy-checkout-paybill__key {
    font-size: 0.78rem;
    font-weight: 600;
    color: #62716a;
    white-space: nowrap;
}

.wecy-checkout-paybill__val {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #0B3D1F;
}

.wecy-checkout-paybill__val--name {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.35;
    text-align: right;
}

.wecy-checkout-paybill .wecy-copy {
    background: rgba(10, 173, 54, 0.12);
    color: #0AAD36;
}

.wecy-checkout-paybill .wecy-copy:hover {
    background: #0AAD36;
    color: #fff;
}

.wecy-checkout-paybill__steps {
    margin: 14px 0 0;
    font-size: 0.78rem;
    color: #62716a;
    display: flex;
    align-items: center;
    gap: 6px;
}

.wecy-checkout-paybill__steps i {
    color: #0AAD36;
    font-size: 1rem;
}

@media (max-width: 575px) {
    .wecy-checkout-paybill__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .wecy-checkout-paybill__val--name {
        text-align: left;
    }
}

/* --- wire / bank transfer block on checkout --- */
.wecy-checkout-bank {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 14px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wecy-checkout-bank:hover {
    border-color: rgba(10, 173, 54, 0.35);
    box-shadow: 0 12px 28px rgba(11, 61, 31, 0.06);
}

.wecy-checkout-bank__icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(11, 61, 31, 0.06);
    color: #0B3D1F;
    font-size: 1.5rem;
}

.wecy-checkout-bank__body {
    flex: 1;
    min-width: 200px;
}

.wecy-checkout-bank__title {
    font-size: 0.98rem;
    color: #0B3D1F;
    margin: 0 0 3px;
}

.wecy-checkout-bank__text {
    font-size: 0.84rem;
    color: #62716a;
    margin: 0;
    line-height: 1.5;
}

.wecy-checkout-bank__btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 700;
    font-size: 0.85rem;
    color: #0AAD36 !important;
    border: 1.5px solid rgba(10, 173, 54, 0.4);
    border-radius: 999px;
    padding: 9px 18px;
    transition: all 0.2s ease;
}

.wecy-checkout-bank__btn:hover {
    background: #0AAD36;
    color: #fff !important;
    border-color: #0AAD36;
    transform: translateY(-1px);
}

@media (max-width: 575px) {
    .wecy-checkout-bank__btn {
        width: 100%;
        justify-content: center;
    }
}

/* --- back link on checkout --- */
.wecy-checkout-back {
    margin-top: 16px;
    text-align: center;
}

.wecy-checkout-back__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #5b6b60;
    padding: 10px 22px;
    border-radius: 999px;
    border: 1px solid #e2e8e4;
    background: #fff;
    transition: all 0.2s ease;
}

.wecy-checkout-back__link:hover {
    color: #0AAD36;
    border-color: rgba(10, 173, 54, 0.4);
    background: rgba(10, 173, 54, 0.04);
    transform: translateY(-1px);
}

.wecy-checkout-back__link i {
    color: #0AAD36;
    font-size: 1.05rem;
}

/* --- PesaPal centered checkout (iframe embed) --- */
.pesapal-checkout-page {
    padding-top: 0 !important;
}

.pesapal-checkout-page > .wecy-page-hero {
    padding-top: 148px !important;
}

@media (max-width: 1199px) {
    .pesapal-checkout-page > .wecy-page-hero {
        padding-top: 92px !important;
    }
}

@media (max-width: 767px) {
    .pesapal-checkout-page > .wecy-page-hero {
        padding-top: 80px !important;
    }
}

.wecy-pesapal-embed {
    padding: clamp(28px, 3.5vw, 48px) 0 clamp(56px, 7vw, 96px);
}

.wecy-pesapal-embed__card {
    max-width: 920px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 56px rgba(11, 61, 31, 0.1);
}

.wecy-pesapal-embed__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    background: #f8fbf9;
    border-bottom: 1px solid #eef2ef;
}

.wecy-pesapal-embed__lock {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: #0B3D1F;
    font-size: 0.9rem;
}

.wecy-pesapal-embed__lock i {
    color: #0AAD36;
    font-size: 1.1rem;
}

.wecy-pesapal-embed__amount {
    font-weight: 800;
    color: #0B3D1F;
    font-size: 0.95rem;
}

.wecy-pesapal-embed__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #8a958f;
}

.wecy-pesapal-embed__back:hover {
    color: #e11d48;
}

.wecy-pesapal-embed__frame {
    display: block;
    width: 100%;
    height: 82vh;
    min-height: 720px;
    border: 0;
    background: #fff;
}

.wecy-pesapal-embed__note {
    max-width: 920px;
    margin: 18px auto 0;
    text-align: center;
    font-size: 0.84rem;
    color: #7b8a82;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.wecy-pesapal-embed__note i {
    color: #0AAD36;
    font-size: 1.05rem;
}

@media (max-width: 575px) {
    .wecy-pesapal-embed__frame {
        height: 78vh;
        min-height: 600px;
    }

    .wecy-pesapal-embed__amount {
        display: none;
    }
}

/* --- PesaPal confirm page: embedded checkout + acknowledgement --- */
.wecy-checkout-embed {
    padding: clamp(24px, 3.2vw, 44px) 0 clamp(56px, 7vw, 96px);
    background: #fff;
}

.wecy-checkout-embed__shell {
    max-width: 940px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.1);
}

.wecy-checkout-embed__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 22px;
    background: linear-gradient(135deg, #0B3D1F 0%, #0a6b34 100%);
    color: #fff;
}

.wecy-checkout-embed__brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.wecy-checkout-embed__lock {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.16);
    font-size: 1.3rem;
}

.wecy-checkout-embed__eyebrow {
    display: block;
    font-weight: 700;
    font-size: 0.95rem;
}

.wecy-checkout-embed__hint {
    display: block;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.72);
}

.wecy-checkout-embed__amount {
    text-align: right;
    line-height: 1.2;
}

.wecy-checkout-embed__amount-label {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.66);
}

.wecy-checkout-embed__amount strong {
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
}

.wecy-checkout-embed__frame-wrap {
    position: relative;
    background: #fff;
    color-scheme: light;
}

.wecy-checkout-embed__frame {
    display: block;
    width: 100%;
    height: clamp(560px, 74vh, 820px);
    min-height: 560px;
    border: 0;
    background: #fff;
    color-scheme: light;
}

.wecy-checkout-embed__loader {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    background: #fff;
    color: #7b8a82;
    font-size: 0.9rem;
    font-weight: 600;
    transition: opacity 0.3s ease;
}

.wecy-checkout-embed__loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.wecy-spinner {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid rgba(10, 173, 54, 0.2);
    border-top-color: #0AAD36;
    animation: wecySpin 0.8s linear infinite;
}

@keyframes wecySpin {
    to { transform: rotate(360deg); }
}

.wecy-checkout-embed__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 15px 22px;
    background: #f8fbf9;
    border-top: 1px solid #eef2ef;
}

.wecy-checkout-embed__secure {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    color: #62716a;
    max-width: 640px;
}

.wecy-checkout-embed__secure i {
    color: #0AAD36;
    font-size: 1.05rem;
}

.wecy-checkout-embed__cancel {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #8a958f;
}

.wecy-checkout-embed__cancel:hover {
    color: #e11d48;
}

/* Acknowledgement / thank-you card */
.wecy-thankyou-card {
    position: relative;
    overflow: hidden;
    max-width: 720px;
    margin: 28px auto 0;
    padding: clamp(30px, 4.5vw, 52px) clamp(24px, 4vw, 48px);
    text-align: center;
    background: linear-gradient(160deg, #f6faf7 0%, #ffffff 60%);
    border: 1px solid #e2ece6;
    border-radius: 24px;
    box-shadow: 0 22px 50px rgba(11, 61, 31, 0.07);
}

.wecy-thankyou-card__glow {
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    width: 320px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(10, 173, 54, 0.16), transparent 70%);
    pointer-events: none;
}

.wecy-thankyou-card__icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 20px;
    background: #0AAD36;
    color: #fff;
    font-size: 2rem;
    margin-bottom: 20px;
    box-shadow: 0 16px 34px rgba(10, 173, 54, 0.32);
}

.wecy-thankyou-card__title {
    position: relative;
    font-size: clamp(1.3rem, 2.4vw, 1.8rem);
    color: #0B3D1F;
    margin-bottom: 12px;
}

.wecy-thankyou-card__text {
    position: relative;
    max-width: 560px;
    margin: 0 auto 18px;
    color: #5b6b60;
    font-size: 0.98rem;
    line-height: 1.7;
}

.wecy-thankyou-card__tagline {
    position: relative;
    display: inline-block;
    font-family: var(--heading-font);
    font-style: italic;
    font-size: 1.05rem;
    color: #0AAD36;
    padding-top: 14px;
    border-top: 1px solid #e2ece6;
}

@media (max-width: 575px) {
    .wecy-checkout-embed__frame {
        height: 74vh;
        min-height: 520px;
    }

    .wecy-checkout-embed__amount-label {
        display: none;
    }

    .wecy-checkout-embed__foot {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* --- campaign detail page --- */
.wecy-cd-hero-progress {
    max-width: 560px;
    margin: 4px 0 20px;
}

.wecy-cd-hero-progress__bar {
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    overflow: hidden;
}

.wecy-cd-hero-progress__bar i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #0AAD36, #7ee29a);
}

.wecy-cd-hero-progress__meta {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 10px;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.85);
}

.wecy-cd-hero-progress__meta strong {
    color: #fff;
}

.wecy-cd-panel {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.06);
    overflow: hidden;
}

.wecy-cd-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 14px 16px;
    border-bottom: 1px solid #eef2ef;
    background: #f8fbf9;
}

.wecy-cd-nav__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    background: transparent;
    color: #5b6b60;
    font-weight: 600;
    font-size: 0.88rem;
    padding: 9px 16px;
    border-radius: 999px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.wecy-cd-nav__item i {
    font-size: 1.05rem;
}

.wecy-cd-nav__item:hover {
    background: rgba(10, 173, 54, 0.08);
    color: #0B3D1F;
}

.wecy-cd-nav__item.active {
    background: #0AAD36;
    color: #fff;
}

.wecy-cd-content {
    padding: clamp(22px, 3vw, 38px);
}

.wecy-cd-side {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Progress card */
.wecy-cd-progress {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.07);
}

.wecy-cd-progress__eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0AAD36;
    margin-bottom: 14px;
}

.wecy-cd-progress__bar {
    height: 10px;
    border-radius: 999px;
    background: #eef4f0;
    overflow: hidden;
}

.wecy-cd-progress__bar i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #0AAD36, #0B3D1F);
}

.wecy-cd-progress__percent {
    margin-top: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #0AAD36;
}

.wecy-cd-progress__meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 18px 0 20px;
    padding-top: 18px;
    border-top: 1px solid #eef2ef;
}

.wecy-cd-progress__stat {
    text-align: center;
}

.wecy-cd-progress__stat strong {
    display: block;
    font-size: 1.05rem;
    color: #0B3D1F;
    font-weight: 800;
}

.wecy-cd-progress__stat span {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8a958f;
    font-weight: 600;
}

/* Donors */
.wecy-cd-donors {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: 22px 24px;
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.06);
}

.wecy-cd-donors__title {
    font-size: 1rem;
    color: #0B3D1F;
    margin-bottom: 4px;
}

.wecy-cd-donors__sub {
    font-size: 0.84rem;
    color: #8a958f;
    margin-bottom: 16px;
}

.wecy-cd-donors__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wecy-cd-donors__list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed #eef2ef;
}

.wecy-cd-donors__list li:last-child {
    border-bottom: 0;
}

.wecy-cd-donors__avatar {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #eef4f0;
}

.wecy-cd-donors__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wecy-cd-donors__name {
    flex: 1;
    font-weight: 600;
    color: #21352a;
    font-size: 0.9rem;
}

.wecy-cd-donors__amount {
    font-weight: 700;
    color: #0AAD36;
    font-size: 0.9rem;
}

.wecy-cd-donors__empty {
    color: #8a958f;
    font-size: 0.88rem;
}

/* Modernise included sections */
.wecy-cd-content .campaign-description__title,
.wecy-cd-content .title {
    font-size: 1.1rem;
    color: #0B3D1F;
    margin-bottom: 14px;
}

.wecy-cd-content .campaign-description__content p {
    color: #4a574f;
    line-height: 1.85;
}

.wecy-cd-content .campaign-images img {
    width: 100%;
    border-radius: 14px;
    object-fit: cover;
}

.wecy-cd-content .campaign-images-gallery .campaign-images {
    border-radius: 14px;
    overflow: hidden;
}

.wecy-cd-content .custom--accordion.style-two .accordion-item {
    border-radius: 12px !important;
    margin-bottom: 10px;
}

.wecy-cd-content .custom--accordion.style-two .accordion-button {
    font-weight: 600;
}

.wecy-cd-content .campaign-review__input,
.wecy-cd-content .campaign-update__items {
    background: #f8fbf9;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 20px 22px;
}

/* Donation form card */
.event-side .donation-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.07);
}

.event-side .donation-card .sidebar-card__title {
    font-size: 1.05rem;
    color: #0B3D1F;
    margin-bottom: 16px;
}

.event-side .donation-card .form-group {
    margin-bottom: 14px;
}

.event-side .donation-card .btn {
    border-radius: 999px;
    padding: 13px 24px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .wecy-cd-side {
        margin-top: 4px;
    }
}

/* --- campaign gallery + hero share --- */
.wecy-cd-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 26px;
}

.wecy-cd-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    aspect-ratio: 4 / 3;
    background: #eef4f0;
    display: block;
}

.wecy-cd-gallery__item:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 7;
}

.wecy-cd-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.wecy-cd-gallery__item:hover img {
    transform: scale(1.06);
}

@media (max-width: 575px) {
    .wecy-cd-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wecy-cd-gallery__item:first-child {
        aspect-ratio: 16 / 10;
    }
}



/* --- campaign detail: stacked sections --- */
.wecy-cd-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.wecy-cd-section {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: clamp(22px, 3vw, 36px);
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.06);
}

.wecy-cd-section__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.2rem;
    color: #0B3D1F;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eef2ef;
}

.wecy-cd-section__title i {
    color: #0AAD36;
    font-size: 1.35rem;
}

.wecy-cd-section .campaign-description__title {
    display: none;
}

/* --- compact, classy donation information card --- */
.event-side .donation-card {
    background: #fff;
    border: 1px solid #e2ece6;
    border-radius: 18px;
    overflow: hidden;
    padding: 0;
    margin-bottom: 0;
    box-shadow: 0 16px 40px rgba(11, 61, 31, 0.08);
}

.event-side .donation-card .sidebar-card__title {
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #0B3D1F 0%, #0a6b34 100%);
    color: #ffffff !important;
    font-size: 0.98rem;
    font-weight: 700;
    padding: 13px 18px;
    margin: 0;
    border: 0;
    border-radius: 0;
}

.event-side .donation-card .sidebar-card__content {
    padding: 18px;
}

.event-side .donation-card .form-group {
    margin-bottom: 12px;
}

.event-side .donation-card .input-group {
    border: 1px solid #dfeae3;
    border-radius: 11px;
    overflow: hidden;
    background: #fff;
}

.event-side .donation-card .input-group:focus-within {
    border-color: #0AAD36;
    box-shadow: 0 0 0 3px rgba(10, 173, 54, 0.12);
}

.event-side .donation-card .input-group-text {
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-weight: 700;
    border: 0;
    padding: 0.45rem 0.75rem;
    font-size: 0.9rem;
}

.event-side .donation-card .form--control {
    font-size: 0.9rem;
    padding: 11px 14px;
    height: auto;
}

.event-side .donation-card .input-group .form--control {
    border: 0 !important;
    box-shadow: none !important;
    padding-left: 12px;
}

.event-side .donation-card .form--label {
    font-size: 0.8rem;
    margin-bottom: 4px;
    color: #5b6b60;
}

.event-side .donation-card .sidebar-card__radio {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.event-side .donation-card .form--radio {
    margin: 0;
}

.event-side .donation-card .form--radio .form-check-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.event-side .donation-card .form--radio .form-check-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    padding: 7px 14px;
    border: 1px solid #dfeae3;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.84rem;
    color: #21352a;
    cursor: pointer;
    transition: all 0.2s ease;
}

.event-side .donation-card .form--radio .form-check-label:hover {
    border-color: #0AAD36;
    color: #0AAD36;
}

.event-side .donation-card .form--radio .form-check-input:checked + .form-check-label {
    background: #0AAD36;
    border-color: #0AAD36;
    color: #fff;
}

.event-side .donation-card .form--check .form-check-label {
    font-size: 0.84rem;
    color: #5b6b60;
}

.event-side .donation-card .btn {
    border-radius: 999px;
    padding: 11px 20px;
    font-size: 0.9rem;
    font-weight: 700;
}

/* campaign detail: milestones tab headings */
.wecy-cd-subhead {
    font-size: 1.05rem;
    color: #0B3D1F;
    margin-bottom: 4px;
}

.wecy-cd-subtext {
    font-size: 0.88rem;
    color: #8a958f;
    margin-bottom: 18px;
}

/* --- campaign detail: image above tabs (reference layout) --- */
.campaign-detail-body {
    padding: 30px 0 clamp(56px, 7vw, 96px);
}

.wecy-cd-media {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: #eef4f0;
    margin-bottom: 24px;
    box-shadow: 0 20px 50px rgba(11, 61, 31, 0.1);
}

.wecy-cd-media__img {
    display: block;
    width: 100%;
    aspect-ratio: 856 / 550;
    object-fit: cover;
}

.wecy-cd-media__badges {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.wecy-cd-media__fav {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.wecy-cd-media__fav:hover {
    transform: scale(1.08);
}

.wecy-cd-media__fav.active {
    background: #e11d48;
    color: #fff;
}

.wecy-cd-tabs-block {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.06);
}

/* campaign media badges: flow inline (theme badges are absolute) */
.wecy-cd-media__badges .project-badge {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    white-space: nowrap;
}

/* campaign detail: cover image before the description */
.wecy-cd-cover {
    border-radius: 20px;
    overflow: hidden;
    background: #eef4f0;
    margin-bottom: 28px;
    box-shadow: 0 20px 50px rgba(11, 61, 31, 0.1);
}

.wecy-cd-cover img {
    display: block;
    width: 100%;
    aspect-ratio: 856 / 550;
    object-fit: cover;
}

/* campaign description tab content */
.wecy-cd-desc p {
    margin-bottom: 14px;
    color: #4a574f;
    line-height: 1.85;
}

.wecy-cd-desc h2,
.wecy-cd-desc h3,
.wecy-cd-desc h4 {
    color: #0B3D1F;
    margin: 20px 0 10px;
}

.wecy-cd-desc ul {
    padding-left: 1.2rem;
    margin-bottom: 16px;
}

.wecy-cd-desc li {
    margin-bottom: 6px;
    color: #4a574f;
}

/* campaign document tab placeholder */
.wecy-cd-doc-note {
    text-align: center;
    padding: 32px 20px;
    background: #f8fbf9;
    border: 1px dashed #dfeae3;
    border-radius: 16px;
}

.wecy-cd-doc-note__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: rgba(10, 173, 54, 0.1);
    color: #0AAD36;
    font-size: 1.7rem;
    margin-bottom: 14px;
}

.wecy-cd-doc-note h4 {
    font-size: 1.1rem;
    color: #0B3D1F;
    margin-bottom: 8px;
}

.wecy-cd-doc-note p {
    max-width: 520px;
    margin: 0 auto 18px;
    color: #62716a;
    font-size: 0.92rem;
}

/* =====================================================
   Campaign detail: modern gallery (stage + thumbnails)
   ===================================================== */
.wecy-gal {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wecy-gal__stage {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: #0b1f14;
    aspect-ratio: 16 / 9;
    cursor: zoom-in;
    outline: none;
}

.wecy-gal__stage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.wecy-gal__stage:hover img {
    transform: scale(1.05);
}

.wecy-gal__scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to top, rgba(4, 20, 11, 0.55) 0%, rgba(4, 20, 11, 0) 45%);
}

.wecy-gal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #0b3d1f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.wecy-gal__nav:hover {
    background: #0aad36;
    color: #fff;
    transform: translateY(-50%) scale(1.06);
}

.wecy-gal__nav--prev {
    left: 12px;
}

.wecy-gal__nav--next {
    right: 12px;
}

.wecy-gal__count {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(4, 20, 11, 0.6);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    backdrop-filter: blur(4px);
}

.wecy-gal__expand {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #0b3d1f;
    font-size: 0.8rem;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.wecy-gal__stage:hover .wecy-gal__expand,
.wecy-gal__stage:focus .wecy-gal__expand {
    opacity: 1;
    transform: none;
}

.wecy-gal__thumbs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 94px;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 2px 10px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}

.wecy-gal__thumb {
    position: relative;
    padding: 0;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    cursor: pointer;
    background: #eef4f0;
    scroll-snap-align: start;
    opacity: 0.68;
    transition: opacity 0.2s ease, box-shadow 0.2s ease;
}

.wecy-gal__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wecy-gal__thumb:hover {
    opacity: 1;
}

.wecy-gal__thumb.active {
    opacity: 1;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0aad36;
}

/* =====================================================
   Campaign detail sidebar: WECY cards
   ===================================================== */
.wecy-side-card {
    background: #fff;
    border: 1px solid #e6efe9;
    border-radius: 18px;
    padding: 20px;
    margin-top: 20px;
    box-shadow: 0 14px 34px rgba(11, 61, 31, 0.06);
}

.wecy-side-card__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.98rem;
    color: #0b3d1f;
    margin-bottom: 10px;
}

.wecy-side-card__title i {
    color: #0aad36;
    font-size: 1.15rem;
}

.wecy-side-card__lead {
    font-size: 0.86rem;
    line-height: 1.6;
    color: #5b6b60;
    margin-bottom: 12px;
}

.wecy-side-pillars {
    margin: 0;
    display: grid;
    gap: 8px;
}

.wecy-side-pillars li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid #e6efe9;
    border-radius: 10px;
    background: #f6faf7;
    font-size: 0.85rem;
    font-weight: 600;
    color: #21352a;
}

.wecy-side-pillars li i {
    flex: 0 0 auto;
    color: #0aad36;
    font-size: 1.1rem;
}

.wecy-side-motto {
    margin: 14px 0 0;
    padding-left: 12px;
    border-left: 3px solid #0aad36;
    font-size: 0.85rem;
    font-style: italic;
    font-weight: 600;
    color: #0b3d1f;
}

.wecy-side-give {
    margin: 0 0 12px;
}

.wecy-side-give li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px dashed #e6efe9;
}

.wecy-side-give li:last-child {
    border-bottom: 0;
}

.wecy-side-give span {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8a958f;
}

.wecy-side-give strong {
    font-size: 0.92rem;
    color: #0b3d1f;
}

.wecy-side-note {
    margin: 0;
    font-size: 0.8rem;
    color: #5b6b60;
}

.wecy-side-contact {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.wecy-side-contact a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 0.86rem;
    font-weight: 600;
    color: #21352a;
    transition: color 0.2s ease;
}

.wecy-side-contact a i {
    color: #0aad36;
    font-size: 1.05rem;
}

.wecy-side-contact a:hover {
    color: #0aad36;
}

/* =====================================================
   Campaign detail responsive
   ===================================================== */
@media (max-width: 991px) {
    .wecy-side-card {
        margin-top: 14px;
    }
}

@media (max-width: 575px) {
    .wecy-gal__stage {
        aspect-ratio: 4 / 3;
    }

    .wecy-gal__nav {
        width: 38px;
        height: 38px;
        font-size: 1.15rem;
    }

    .wecy-gal__nav--prev {
        left: 8px;
    }

    .wecy-gal__nav--next {
        right: 8px;
    }

    .wecy-gal__thumbs {
        grid-auto-columns: 74px;
    }

    .wecy-gal__expand {
        display: none;
    }
}

/* =====================================================
   Campaign detail: compact & classy donation card
   ===================================================== */
.event-side .donation-card {
    border-radius: 16px;
}

.event-side .donation-card .sidebar-card__title {
    padding: 12px 16px;
    font-size: 0.92rem;
}

.event-side .donation-card .sidebar-card__content {
    padding: 15px;
}

/* amount + presets */
.event-side .donation-card .donation-amount {
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px dashed #e6efe9;
}

.event-side .donation-card .donation-amount .input-group {
    border-radius: 10px;
}

.event-side .donation-card .donateAmount {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0b3d1f;
}

.event-side .donation-card .sidebar-card__radio {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 10px;
}

.event-side .donation-card .sidebar-card__radio .form--radio {
    flex: 1 1 0;
    min-width: 0;
}

.event-side .donation-card .sidebar-card__radio .form-check-label {
    width: 100%;
    min-width: 0;
    padding: 8px 4px;
    font-size: 0.8rem;
}

/* anonymous toggle */
.event-side .donation-card .donation-anon {
    margin: 0 0 12px;
    padding: 9px 12px;
    border: 1px solid #e6efe9;
    border-radius: 10px;
    background: #f6faf7;
}

.event-side .donation-card .donation-anon .form-check-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #21352a;
}

/* donor fields: aligned two-column grid */
.event-side .donation-card .donation-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.event-side .donation-card .donation-fields .form-group {
    margin-bottom: 0;
    min-width: 0;
}

.event-side .donation-card .form--label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #5b6b60;
    margin-bottom: 4px;
}

.event-side .donation-card .form--control {
    font-size: 0.86rem;
    padding: 9px 11px;
    border-radius: 9px;
}

.event-side .donation-card .donation-submit {
    margin-top: 14px;
    padding: 12px 20px;
    border-radius: 999px;
    font-weight: 700;
}

@media (max-width: 480px) {
    .event-side .donation-card .donation-fields {
        grid-template-columns: 1fr;
    }

    .event-side .donation-card .sidebar-card__content {
        padding: 13px;
    }
}

/* =====================================================
   Success story detail
   ===================================================== */
.story-detail-page {
    padding-top: 0 !important;
}

.wecy-story-hero__inner {
    max-width: 880px;
}

.wecy-story-hero__title {
    font-size: clamp(1.7rem, 3.4vw, 2.7rem);
    line-height: 1.16;
    color: #0b3d1f;
    margin: 14px 0 18px;
}

.wecy-story-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 0;
}

.wecy-story-hero__meta li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #5b6b60;
}

.wecy-story-hero__meta li i {
    color: #0aad36;
    font-size: 1.05rem;
}

.wecy-story-body {
    padding: clamp(34px, 5vw, 64px) 0 clamp(48px, 7vw, 96px);
}

.wecy-story-cover {
    position: relative;
    margin: 0 0 clamp(24px, 4vw, 40px);
    border-radius: 22px;
    overflow: hidden;
    background: #eef4f0;
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.14);
}

.wecy-story-cover img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.wecy-story-cover figcaption {
    position: absolute;
    left: 16px;
    bottom: 16px;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(11, 61, 31, 0.72);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    backdrop-filter: blur(4px);
}

.wecy-story-article {
    font-size: 1.05rem;
    line-height: 1.9;
    color: #40504a;
}

.wecy-story-article p {
    margin-bottom: 1.25rem;
}

.wecy-story-article__lead {
    font-size: 1.22rem;
    line-height: 1.75;
    font-weight: 500;
    color: #0b3d1f;
    padding-left: 20px;
    border-left: 4px solid #0aad36;
    margin-bottom: 1.6rem !important;
}

.wecy-story-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
    padding: 18px 20px;
    border: 1px solid #e6efe9;
    border-radius: 16px;
    background: #f6faf7;
}

.wecy-story-share__label {
    font-size: 0.9rem;
    font-weight: 700;
    color: #0b3d1f;
}

.wecy-story-share__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wecy-story-share__links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #dfeae3;
    border-radius: 50%;
    background: #fff;
    color: #0b3d1f;
    font-size: 0.95rem;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.wecy-story-share__links a:hover {
    background: #0aad36;
    border-color: #0aad36;
    color: #fff;
    transform: translateY(-2px);
}

.wecy-story-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.wecy-story-nav .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 700;
}

/* sidebar */
.wecy-story-side {
    position: sticky;
    top: 110px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.wecy-story-side__card {
    background: #fff;
    border: 1px solid #e6efe9;
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 16px 40px rgba(11, 61, 31, 0.06);
}

.wecy-story-side__title {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 1rem;
    color: #0b3d1f;
    margin-bottom: 16px;
}

.wecy-story-side__title i {
    color: #0aad36;
    font-size: 1.15rem;
}

.wecy-story-side__list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.wecy-story-side__empty {
    margin: 0;
    font-size: 0.86rem;
    color: #8a958f;
}

.wecy-story-mini {
    display: flex;
    align-items: center;
    gap: 12px;
}

.wecy-story-mini__thumb {
    flex: 0 0 74px;
    width: 74px;
    height: 60px;
    border-radius: 12px;
    overflow: hidden;
    background: #eef4f0;
}

.wecy-story-mini__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.wecy-story-mini:hover .wecy-story-mini__thumb img {
    transform: scale(1.07);
}

.wecy-story-mini__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.wecy-story-mini__title {
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0b3d1f;
    transition: color 0.2s ease;
}

.wecy-story-mini:hover .wecy-story-mini__title {
    color: #0aad36;
}

.wecy-story-mini__date {
    font-size: 0.74rem;
    font-weight: 600;
    color: #8a958f;
}

.wecy-story-side__more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    font-size: 0.86rem;
    font-weight: 700;
    color: #0aad36;
}

.wecy-story-side__lead {
    margin-bottom: 14px;
    font-size: 0.85rem;
    line-height: 1.6;
    color: #5b6b60;
}

.wecy-story-pillars {
    margin: 0;
    display: grid;
    gap: 8px;
}

.wecy-story-pillars li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid #e6efe9;
    border-radius: 10px;
    background: #f6faf7;
    font-size: 0.84rem;
    font-weight: 600;
    color: #21352a;
}

.wecy-story-pillars li i {
    flex: 0 0 auto;
    color: #0aad36;
    font-size: 1.08rem;
}

.wecy-story-motto {
    margin: 14px 0 0;
    padding-left: 12px;
    border-left: 3px solid #0aad36;
    font-size: 0.84rem;
    font-style: italic;
    font-weight: 600;
    color: #0b3d1f;
}

.wecy-story-links {
    margin: 0;
    display: grid;
    gap: 6px;
}

.wecy-story-links li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: #f8fbf9;
    color: #21352a;
    font-size: 0.87rem;
    font-weight: 600;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.wecy-story-links li a span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.wecy-story-links li a span i {
    color: #0aad36;
    font-size: 1.1rem;
}

.wecy-story-links li a > i {
    color: #b7c4bc;
    font-size: 1rem;
    transition: transform 0.2s ease, color 0.2s ease;
}

.wecy-story-links li a:hover {
    background: #fff;
    border-color: #0aad36;
    color: #0b3d1f;
    transform: translateX(2px);
}

.wecy-story-links li a:hover > i {
    color: #0aad36;
    transform: translateX(3px);
}

@media (max-width: 991px) {
    .wecy-story-side {
        position: static;
    }
}

@media (max-width: 767px) {
    .wecy-story-article {
        font-size: 1rem;
    }

    .wecy-story-article__lead {
        font-size: 1.08rem;
    }

    .wecy-story-share {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =====================================================
   Gallery album detail
   ===================================================== */
.gallery-album-page {
    padding-top: 0 !important;
}

.wecy-album-hero__inner {
    max-width: 780px;
}

.wecy-album-hero__title {
    font-size: clamp(1.7rem, 3.4vw, 2.6rem);
    line-height: 1.16;
    color: #0b3d1f;
    margin: 14px 0;
}

.wecy-album-hero__text {
    max-width: 680px;
    margin-bottom: 20px;
    font-size: 1.02rem;
    color: #5b6b60;
}

.wecy-album-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 0;
}

.wecy-album-hero__meta li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #5b6b60;
}

.wecy-album-hero__meta li i {
    color: #0aad36;
    font-size: 1.05rem;
}

.wecy-album-hero__meta a {
    color: #0aad36;
    font-weight: 700;
}

.wecy-album-hero__meta a:hover {
    color: #0b3d1f;
}

.wecy-album-body {
    padding: clamp(28px, 4vw, 48px) 0 clamp(48px, 7vw, 96px);
}

.wecy-album-pager {
    margin-top: 40px;
}

.wecy-album-empty {
    padding: 30px 0;
    text-align: center;
}

.wecy-album-more {
    padding-bottom: clamp(48px, 7vw, 96px);
}

/* Photo grid */
.wecy-photos {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.wecy-photos__item {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    background: #eef4f0;
    box-shadow: 0 12px 30px rgba(11, 61, 31, 0.07);
}

.wecy-photos__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.55s ease;
}

.wecy-photos__item:hover img {
    transform: scale(1.07);
}

.wecy-photos__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 14px;
    background: linear-gradient(to top, rgba(4, 20, 11, 0.72) 0%, rgba(4, 20, 11, 0) 55%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.wecy-photos__item:hover .wecy-photos__overlay,
.wecy-photos__item:focus .wecy-photos__overlay {
    opacity: 1;
}

.wecy-photos__title {
    padding-right: 44px;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
}

.wecy-photos__zoom {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #0b3d1f;
    font-size: 1.05rem;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.wecy-photos__item:hover .wecy-photos__zoom,
.wecy-photos__item:focus .wecy-photos__zoom {
    opacity: 1;
    transform: none;
}

/* Lightbox polish */
.mfp-wecy .mfp-img {
    border-radius: 14px;
}

.mfp-wecy .mfp-title {
    padding-right: 90px;
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.5;
}

.mfp-wecy .mfp-title strong {
    display: block;
    font-weight: 700;
}

.mfp-wecy .mfp-title span {
    display: block;
    font-size: 0.84rem;
    opacity: 0.85;
}

.mfp-wecy .mfp-bottom-bar {
    margin-top: 14px;
}

/* keep the lightbox above the site header */
.mfp-bg,
.mfp-wrap {
    z-index: 200000 !important;
}

/* Modern lightbox navigation arrows */
.mfp-wrap .mfp-arrow {
    width: 52px;
    height: 52px;
    top: 50%;
    margin-top: -26px;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.28);
    opacity: 1;
    transition: background 0.2s ease, transform 0.2s ease;
}

.mfp-wrap .mfp-arrow:hover,
.mfp-wrap .mfp-arrow:focus,
.mfp-wrap .mfp-arrow:active {
    background: #0aad36;
    margin-top: -26px;
    transform: scale(1.06);
}

.mfp-wrap .mfp-arrow-left {
    left: 16px;
}

.mfp-wrap .mfp-arrow-right {
    right: 16px;
}

/* remove the default triangle glyphs */
.mfp-wrap .mfp-arrow:before,
.mfp-wrap .mfp-arrow .mfp-b,
.mfp-wrap .mfp-arrow .mfp-a {
    display: none !important;
}

/* draw clean chevrons */
.mfp-wrap .mfp-arrow:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 13px;
    margin: 0;
    border: 0;
    border-top: 3px solid #0b3d1f;
    border-right: 3px solid #0b3d1f;
    border-radius: 2px;
    transition: border-color 0.2s ease;
}

.mfp-wrap .mfp-arrow:hover:after,
.mfp-wrap .mfp-arrow:focus:after {
    border-top-color: #fff;
    border-right-color: #fff;
}

.mfp-wrap .mfp-arrow-left:after {
    transform: translate(-30%, -50%) rotate(-135deg);
}

.mfp-wrap .mfp-arrow-right:after {
    transform: translate(-70%, -50%) rotate(45deg);
}

/* counter + close */
.mfp-wrap .mfp-counter {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.8rem;
}

.mfp-wrap .mfp-close {
    width: 46px;
    height: 46px;
    line-height: 46px;
    top: 16px;
    right: 16px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 26px;
    opacity: 1;
    transition: background 0.2s ease;
}

.mfp-wrap .mfp-close:hover,
.mfp-wrap .mfp-close:focus {
    background: #0aad36;
    color: #fff;
}

@media (max-width: 991px) {
    .wecy-photos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 575px) {
    .wecy-photos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .wecy-photos__item {
        border-radius: 13px;
    }
}

/* =====================================================
   Donation & checkout: bank transfer details
   ===================================================== */
.wecy-bank {
    margin-top: clamp(24px, 3.5vw, 48px);
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: clamp(22px, 3vw, 34px);
    box-shadow: 0 18px 44px rgba(11, 61, 31, 0.06);
}

.wecy-bank .wecy-paybill__head {
    align-items: center;
    gap: 14px;
    padding-bottom: 18px;
    margin-bottom: 6px;
    border-bottom: 1px solid #eef2ef;
}

.wecy-bank__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 22px;
    margin-top: 20px;
}

.wecy-bank__item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 12px 15px;
    background: #f8fbf9;
    border: 1px solid #e9f2ed;
    border-radius: 12px;
    min-width: 0;
}

.wecy-bank__item span {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8a958f;
    font-weight: 700;
}

.wecy-bank__item strong {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0b3d1f;
    word-break: break-word;
}

.wecy-bank .wecy-paybill__note {
    margin-top: 18px;
}

/* deposit / checkout page bank card */
.wecy-checkout-bank__body {
    flex: 1 1 auto;
    min-width: 0;
}

.wecy-checkout-bank__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 22px;
    margin-top: 12px;
}

.wecy-checkout-bank__item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.wecy-checkout-bank__item--wide {
    grid-column: 1 / -1;
}

.wecy-checkout-bank__item span {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8a958f;
    font-weight: 700;
}

.wecy-checkout-bank__item strong {
    font-size: 0.9rem;
    font-weight: 700;
    color: #0b3d1f;
    word-break: break-word;
}

.wecy-checkout-bank__note {
    margin: 12px 0 0;
    font-size: 0.8rem;
    color: #62716a;
    line-height: 1.5;
}

.wecy-checkout-bank__note i {
    color: #0aad36;
}

@media (max-width: 575px) {
    .wecy-bank__grid,
    .wecy-checkout-bank__grid {
        grid-template-columns: 1fr;
    }
}

/* bank card uses the paybill card structure on a light background — recolor */
.wecy-bank .wecy-paybill__logo {
    background: rgba(10, 173, 54, 0.10);
    color: #0aad36;
}

.wecy-bank .wecy-paybill__label {
    color: #0aad36;
}

.wecy-bank .wecy-paybill__title {
    color: #0b3d1f;
}

.wecy-bank .wecy-paybill__note {
    color: #62716a;
}

.wecy-bank .wecy-paybill__note i {
    color: #0aad36;
}

/* =====================================================
   Thank-you page
   ===================================================== */
.thanks-page {
    padding-top: 0 !important;
}

.wecy-thanks-hero {
    position: relative;
    padding: 148px 0 clamp(40px, 6vw, 72px);
    background: linear-gradient(180deg, rgba(10, 173, 54, 0.08), transparent 75%);
    overflow: hidden;
}

@media (max-width: 1199px) {
    .wecy-thanks-hero { padding-top: 92px; }
}

@media (max-width: 767px) {
    .wecy-thanks-hero { padding-top: 80px; }
}

.wecy-thanks-hero__glow {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 520px;
    height: 320px;
    background: radial-gradient(closest-side, rgba(10, 173, 54, 0.22), transparent);
    filter: blur(20px);
    pointer-events: none;
}

.wecy-thanks-hero__inner {
    position: relative;
    max-width: 720px;
    margin: 0 auto clamp(28px, 4vw, 44px);
    text-align: center;
}

.wecy-thanks-hero__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0aad36, #0a6b34);
    color: #fff;
    font-size: 2.6rem;
    box-shadow: 0 20px 46px rgba(10, 173, 54, 0.4);
    margin-bottom: 22px;
    animation: wecyPop 0.5s cubic-bezier(0.18, 0.89, 0.32, 1.28) both;
}

@keyframes wecyPop {
    0% { transform: scale(0.4); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.wecy-thanks-hero__title {
    font-size: clamp(1.7rem, 3.4vw, 2.6rem);
    line-height: 1.15;
    color: #0b3d1f;
    margin: 14px 0;
}

.wecy-thanks-hero__text {
    font-size: 1.02rem;
    color: #5b6b60;
    line-height: 1.7;
    margin-bottom: 22px;
}

.wecy-thanks-hero__text strong { color: #0b3d1f; }

.wecy-thanks-hero__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0;
}

.wecy-thanks-hero__chips li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dfeae3;
    color: #21352a;
    font-weight: 600;
    font-size: 0.85rem;
}

.wecy-thanks-hero__chips li i { color: #0aad36; font-size: 1.1rem; }

.wecy-thanks-card {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e6efe9;
    border-radius: 22px;
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.1);
    overflow: hidden;
}

.wecy-thanks-card__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 18px;
    padding: clamp(24px, 3.4vw, 34px);
}

.wecy-thanks-card__owner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; min-width: 0; }

.wecy-thanks-card__avatar {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    background: #eef4f0;
    border: 2px solid #e6efe9;
}

.wecy-thanks-card__avatar img { width: 100%; height: 100%; object-fit: cover; }

.wecy-thanks-card__owner-meta { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; min-width: 0; }
.wecy-thanks-card__owner-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: #8a958f; font-weight: 700; }
.wecy-thanks-card__owner-name { font-size: 1rem; font-weight: 700; color: #0b3d1f; }
.wecy-thanks-card__owner-by { font-size: 0.82rem; color: #62716a; }

.wecy-thanks-card__receipt {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
    width: 100%;
    padding-top: 18px;
    border-top: 1px solid #eef2ef;
}
.wecy-thanks-card__receipt-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: #8a958f; font-weight: 700; }
.wecy-thanks-card__receipt-trx { font-size: 0.95rem; font-weight: 700; color: #0b3d1f; }
.wecy-thanks-card__receipt-btn { margin-top: 6px; border-radius: 999px; }

.wecy-thanks-share { padding: clamp(40px, 6vw, 72px) 0 0; }
.wecy-thanks-share__card {
    max-width: 860px;
    margin: 0 auto;
    background: linear-gradient(150deg, #0b3d1f 0%, #0a6b34 100%);
    color: #fff;
    border-radius: 24px;
    padding: clamp(24px, 3.5vw, 40px);
    box-shadow: 0 26px 60px rgba(11, 61, 31, 0.2);
}
.wecy-thanks-share__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    margin-bottom: 24px;
}
.wecy-thanks-share__icon {
    flex: 0 0 52px; width: 52px; height: 52px; border-radius: 15px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, 0.14); color: #fff; font-size: 1.5rem;
}
.wecy-thanks-share__title { color: #fff; font-size: clamp(1.2rem, 2vw, 1.6rem); margin: 0 0 4px; }
.wecy-thanks-share__text { color: rgba(255, 255, 255, 0.82); margin: 0; font-size: 0.94rem; }

.wecy-thanks-share__link {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    padding: 5px 5px 5px 18px;
    margin: 0 auto 24px;
    max-width: 620px;
}
.wecy-thanks-share__link input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 0.86rem;
    height: 38px;
    padding: 0;
    text-overflow: ellipsis;
}
.wecy-thanks-share__copy {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    flex: 0 0 auto;
    border: 0; border-radius: 999px; background: #0aad36; color: #fff;
    font-weight: 700; font-size: 0.84rem; height: 38px; padding: 0 18px; cursor: pointer;
    transition: background 0.2s ease; white-space: nowrap;
}
.wecy-thanks-share__copy:hover { background: #0c8f2e; }
.wecy-thanks-share__copy.is-copied { background: #0b3d1f; }

.wecy-thanks-share__socials { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.wecy-thanks-share__socials a {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 16px; border-radius: 999px;
    background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff; font-weight: 600; font-size: 0.84rem;
    transition: background 0.2s ease, transform 0.2s ease;
}
.wecy-thanks-share__socials a:hover { transform: translateY(-2px); color: #fff; }
.wecy-thanks-share__socials a i { font-size: 1.1rem; }
.wecy-thanks-share__socials .is-wa:hover { background: #25d366; border-color: #25d366; }
.wecy-thanks-share__socials .is-fb:hover { background: #1877f2; border-color: #1877f2; }
.wecy-thanks-share__socials .is-tw:hover { background: #111; border-color: #111; }
.wecy-thanks-share__socials .is-li:hover { background: #0a66c2; border-color: #0a66c2; }
.wecy-thanks-share__socials .is-em:hover { background: #0aad36; border-color: #0aad36; }

.wecy-thanks-next { padding: clamp(40px, 6vw, 80px) 0; }
.wecy-thanks-next__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
}
.wecy-thanks-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    box-shadow: 0 14px 36px rgba(11, 61, 31, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.wecy-thanks-tile:hover { transform: translateY(-4px); border-color: #0aad36; box-shadow: 0 22px 50px rgba(11, 61, 31, 0.12); }
.wecy-thanks-tile__icon {
    width: 52px; height: 52px; border-radius: 15px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(10, 173, 54, 0.1); color: #0aad36; font-size: 1.5rem; margin-bottom: 6px;
}
.wecy-thanks-tile__title { font-size: 1.05rem; font-weight: 800; color: #0b3d1f; }
.wecy-thanks-tile__text { font-size: 0.9rem; color: #5b6b60; line-height: 1.6; flex: 1; }
.wecy-thanks-tile__link { display: inline-flex; align-items: center; gap: 6px; font-size: 0.85rem; font-weight: 700; color: #0aad36; }

.wecy-thanks-actions {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px;
}
.wecy-thanks-actions .btn { border-radius: 999px; padding: 12px 26px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.wecy-btn-ghost { background: #fff; border: 1px solid #dfeae3; color: #0b3d1f; }
.wecy-btn-ghost:hover { background: #0b3d1f; border-color: #0b3d1f; color: #fff; }

@media (max-width: 991px) {
    .wecy-thanks-next__grid { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
    .wecy-thanks-card__top { flex-direction: column; align-items: flex-start; }
    .wecy-thanks-card__receipt { align-items: flex-start; text-align: left; }
    .wecy-thanks-share__link { flex-direction: column; }
}
