body {
    background: #f9f7f3;
    color: #1e1e1e;
}

.dash-matrimo .head-top {
    position: relative;
    z-index: 20;
}

.dash-matrimo .hom-top {
    position: relative;
    z-index: 19;
    background: #fff;
}

.dash-page-shell {
    padding-top: 0;
}

.header-area {
    background: #fff;
    border-bottom: 1px solid #ece8df;
}

.auth-wrap,
.profile-wrap {
    min-height: calc(100vh - 160px);
}

.auth-card,
.profile-wrap .card {
    border-radius: 16px;
}

.form-control,
.form-select {
    border-radius: 10px;
    min-height: 44px;
}

.btn-dark {
    border-radius: 10px;
}

.footer-area {
    background: #fff;
    border-top: 1px solid #ece8df;
}

.prof-sec {
    background: #fff;
    border: 1px solid #ece8df;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 18px;
}

.prof-sec-title {
    margin-bottom: 14px;
    font-weight: 700;
    color: #222;
}

.all-pro-head {
    margin-top: 8px;
}

.chat-shell {
    display: grid;
    grid-template-columns: 300px 1fr;
    border: 1px solid #ece8df;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    min-height: 520px;
}

.chat-users {
    border-right: 1px solid #ece8df;
    overflow-y: auto;
    max-height: 520px;
}

.chat-user-item {
    width: 100%;
    border: 0;
    background: #fff;
    text-align: left;
    padding: 12px;
    display: flex;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid #f1ede5;
    position: relative;
}

.chat-user-item img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
}

.chat-user-item span {
    display: block;
}

.chat-user-item small {
    display: block;
    color: #777;
}

.chat-user-item.active {
    background: #fff8eb;
}

.chat-unread {
    margin-left: auto;
    background: #f6af04;
    color: #fff;
    font-style: normal;
    font-size: 12px;
    min-width: 20px;
    height: 20px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
}

.chat-panel {
    display: flex;
    flex-direction: column;
}

.chat-head {
    border-bottom: 1px solid #ece8df;
    padding: 12px 16px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.chat-head img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.chat-head h5 {
    margin: 0;
}

.chat-head small {
    color: #777;
}

.chat-body {
    flex: 1;
    padding: 16px;
    overflow-y: auto;
    background: #f9f7f3;
}

.msg {
    max-width: 70%;
    padding: 9px 12px;
    border-radius: 10px;
    margin-bottom: 10px;
    line-height: 1.4;
}

.chat-time {
    display: block;
    font-size: 11px;
    opacity: 0.75;
    margin-top: 4px;
}

.msg-left {
    background: #fff;
    border: 1px solid #ece8df;
}

.msg-right {
    background: #f6af04;
    color: #fff;
    margin-left: auto;
}

.chat-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 12px;
    border-top: 1px solid #ece8df;
}

@media (max-width: 991px) {
    .chat-shell {
        grid-template-columns: 1fr;
        min-height: 620px;
    }

    .chat-users {
        max-height: 200px;
    }
}

.all-pro-box .enq-sav.interest-toggle {
    border: 0;
    background: #fff;
    cursor: pointer;
    padding: 0;
}

.all-pro-box .enq-sav.interest-toggle i {
    color: #a7a7a7;
    transition: color 0.2s ease;
}

.all-pro-box .enq-sav.interest-toggle.active i,
.all-pro-box .enq-sav.interest-toggle:hover i {
    color: #e14868;
}

.brief-interest-btn.active {
    background: #e14868;
    color: #fff;
}

.all-pro-box .pro-bio {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.all-pro-box .pro-bio .bio-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 14px;
    background: #f6f1e7;
    color: #3d2e1a;
    border: 1px solid #eadfcd;
}

.all-pro-box .pro-bio .bio-kul {
    background: #f6af04;
    color: #fff;
    border-color: #e49f00;
}

.all-pro-box .pro-bio .bio-gotra {
    background: #f0f6ff;
    color: #1b4d8f;
    border-color: #cfe1fb;
}

.all-pro-box .pro-bio .bio-status {
    background: #fff1f3;
    color: #9e1b32;
    border-color: #f3c7cf;
}

.all-pro-box .pro-bio .bio-degree {
    background: #f1f7f0;
    color: #2f6b2f;
    border-color: #d6ead4;
}

.all-pro-box .pro-bio .bio-age {
    font-size: 16px;
    font-weight: 800;
    background: #f3e9ff;
    color: #4b2a7a;
    border-color: #e0cff7;
}

.ab-sec2 .we-cont.map-box {
    min-height: 260px;
}

.about-premium {
    padding: 30px 0 60px;
}

.about-hero h2 {
    font-family: "Playfair Display", "Georgia", serif;
    font-size: 36px;
    letter-spacing: 0.3px;
    margin-bottom: 10px;
}

.about-hero p {
    font-size: 16px;
    line-height: 1.7;
    color: #4a3a2a;
}

.about-card {
    background: #fff;
    border: 1px solid #f1e6d8;
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 8px 18px rgba(24, 15, 2, 0.06);
    margin-bottom: 16px;
}

.about-card h3,
.about-card h4 {
    font-family: "Playfair Display", "Georgia", serif;
    margin-bottom: 8px;
    color: #2a1e12;
}

.about-card p {
    color: #5c4a35;
}

.about-highlight {
    border-left: 3px solid #f6af04;
    background: #fffaf1;
}

/* Remove grass background elements */
.hom-cus-revi:before,
.pg-wedd-vid:before,
.wed-hom-footer:before {
    background: none !important;
    display: none !important;
}

.pg-soon {
    background: none !important;
}

/* Home hero decorative flowers: align with navbar and corners. */
.hom-head {
    overflow: visible;
}

/* Hide leaf visuals while keeping matrimo theme styles intact. */
.home-tit .leaf1,
.hom-coup-box .leaf,
.wedd-ban-leaf span {
    display: none !important;
}

.hom-head::before,
.hom-head::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 3;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.96;
}

.hom-head::before {
    width: 215px;
    height: 325px;
    left: -10px;
    top: -48px;
    background-image: url("../theme/images/leaf/10.png");
    transform: rotate(-8deg);
}

.hom-head::after {
    width: 170px;
    height: 170px;
    right: -8px;
    bottom: -8px;
    background-image: url("../theme/images/leaf/11.png");
    transform: rotate(28deg);
    transform-origin: bottom right;
}

/* Remove leaf images entirely (including decorative pseudo-elements). */
.home-tit .leaf1,
.hom-coup-box .leaf,
.wedd-ban-leaf span,
.hom-head::before,
.hom-head::after {
    display: none !important;
    background-image: none !important;
}

@media (max-width: 991px) {
    .hom-head::before {
        width: 150px;
        height: 220px;
        left: -12px;
        top: -22px;
    }

    .hom-head::after {
        width: 112px;
        height: 112px;
        right: -6px;
        bottom: -4px;
    }
}

/* Mobile quality pass: dashboard, filters, drawers, and profile spacing */
@media (max-width: 991px) {
    .db {
        padding-top: 12px;
    }

    .db .row > [class*="col-"] {
        margin-bottom: 16px;
    }

    .db-nav {
        margin: 0 0 14px;
        padding: 14px;
        border: 1px solid #ece2d2;
        border-radius: 14px;
        box-shadow: 0 8px 24px rgba(45, 24, 6, 0.08);
        background: linear-gradient(180deg, #fffdf8 0%, #fff6e7 100%);
    }

    .db-nav-pro {
        margin-bottom: 16px;
    }

    .db-nav-list ul li {
        margin-bottom: 8px;
    }

    .db-nav-list ul li a {
        border-radius: 10px;
        padding: 10px 12px;
        background: rgba(255, 255, 255, 0.75);
        border: 1px solid #f0e4d3;
    }

    .db-nav-list ul li a.act {
        color: #5a2f00;
        background: linear-gradient(90deg, #fff4df 0%, #ffe6bc 100%);
        border-color: #f6c67d;
    }

    .db-nav-list ul li a.act::before {
        display: none;
    }

    .db-sec-com {
        margin-bottom: 20px;
    }

    .all-pro-head .row {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    .all-pro-head h1 {
        margin-bottom: 0;
    }

    .all-pro-head a {
        margin-top: 0;
    }

    .all-weddpro .col-md-3.fil-mob-view {
        background: #fffdf8;
    }

    .all-weddpro .col-md-3.fil-mob-view form,
    .fil-mob-view {
        padding-bottom: 20px;
    }

    .filt-com {
        margin-bottom: 18px;
        padding-bottom: 14px;
        border-bottom: 1px solid #f3ebdf;
    }

    .filt-com:last-child {
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .send-query {
        border-radius: 12px;
        background: linear-gradient(180deg, #2f3f3f 0%, #21302f 100%);
        box-shadow: 0 10px 20px rgba(33, 48, 47, 0.18);
    }

    .short-all {
        padding: 16px 10px 8px;
    }

    .mob-me-all {
        background: linear-gradient(180deg, #fffdf8 0%, #ffefd3 100%);
        border-left: 1px solid #f1debf;
        box-shadow: -14px 0 35px rgba(61, 37, 11, 0.2);
    }

    .mob-me-all ul li a,
    .mob-me-all ul li .btn.btn-link {
        color: #4a2a00;
        border-bottom: 1px solid #f0dcc0;
        padding: 12px 0;
        font-weight: 600;
    }

    .mob-me-all ul li .btn.btn-link {
        width: 100%;
        text-align: left;
        text-decoration: none;
    }
}

@media (max-width: 769px) {
    .all-pro-head {
        padding: 44px 15px 22px;
        background-position: center;
    }

    .all-pro-head h1 {
        font-size: 28px;
        line-height: 1.35;
        margin: 0 0 14px;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    }

    .all-pro-head a {
        padding: 10px 14px;
        border-radius: 999px;
        background: #f6af04;
        color: #fff;
        font-weight: 700;
        margin-bottom: 8px;
        box-shadow: 0 10px 20px rgba(78, 45, 0, 0.28);
    }

    .all-pro-head .fil-mob {
        margin-top: 16px;
        margin-left: 12px;
        margin-right: 12px;
        width: calc(100% - 24px);
        border-radius: 14px;
        border: 1px solid #e7d2b2;
        background: #f7ebd7;
        box-shadow: 0 8px 16px rgba(58, 33, 3, 0.14);
    }

    .all-pro-head .fil-mob h4 {
        font-size: 20px;
        padding: 4px 0;
    }

    .all-weddpro .col-md-3.fil-mob-view {
        padding: calc(var(--mtop) + 18px) 18px 30px;
    }

    .filt-com h4 {
        margin-bottom: 10px;
    }

    .chat-body {
        padding: 12px;
    }

    .msg {
        max-width: 84%;
    }

    .chat-form {
        grid-template-columns: 1fr;
    }

    .chat-form button {
        width: 100%;
    }
}

@media (max-width: 575px) {
    .db-pro-stat,
    .db-profile,
    .db-invoice,
    .prof-sec {
        padding: 14px;
    }

    .db-invoice table {
        min-width: 620px;
    }

    .db-invoice {
        overflow-x: auto;
    }
}

.superadmin-table th,
.superadmin-table td {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.superadmin-contact-table td:nth-child(5) {
    min-width: 260px;
}

@media (max-width: 991px) {
    .superadmin-dashboard .table-responsive {
        border: 1px solid #ede3d4;
        border-radius: 12px;
        background: #fff;
        padding: 2px;
    }

    .superadmin-table {
        margin-bottom: 0;
    }

    .superadmin-table th,
    .superadmin-table td {
        padding: 10px 8px;
        font-size: 13px;
        line-height: 1.45;
    }
}

@media (max-width: 769px) {
    .superadmin-dashboard .db-tit {
        margin-top:20px;
        line-height: 1.35;
    }

    .superadmin-table {
        min-width: 720px;
    }
}

/* Global mobile readability fixes */
@media (max-width: 769px) {
    body {
        font-size: 14px;
        line-height: 1.5;
    }

    h1 {
        font-size: 24px;
        line-height: 1.3;
    }

    h2,
    h2.db-tit {
        font-size: 20px;
        line-height: 1.35;
        margin-bottom: 10px;
    }

    h3 {
        font-size: 18px;
        line-height: 1.35;
    }

    h4 {
        font-size: 16px;
        line-height: 1.4;
    }

    h5,
    h6 {
        line-height: 1.45;
    }

    p,
    li,
    a,
    span,
    label,
    td,
    th,
    input,
    select,
    textarea,
    button {
        font-size: 13px;
        line-height: 1.5;
    }

    .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    section {
        margin-bottom: 8px;
    }

    .db-pro-stat,
    .db-profile,
    .db-invoice,
    .prof-sec,
    .all-pro-box,
    .chat-shell,
    .about-card {
        border-radius: 12px;
    }

    .db-pro-stat,
    .db-profile,
    .db-invoice,
    .prof-sec {
        padding: 14px;
    }

    .db-pro-stat ul li,
    .db-nav-list ul li a {
        margin-bottom: 8px;
    }

    .db-int-pro-2 h5,
    .db-chat-bio h5,
    .pro-detail h4 {
        font-size: 15px;
        line-height: 1.35;
    }

    .pro-detail {
        padding: 14px;
    }

    .pro-detail .pro-bio {
        gap: 6px;
    }

    .all-pro-box .pro-bio .bio-chip {
        font-size: 12px;
        line-height: 1.3;
        padding: 4px 8px;
    }

    .all-pro-box .pro-bio .bio-age {
        font-size: 13px;
    }

    .short-all,
    .all-pro-head,
    .filt-com,
    .send-query {
        margin-bottom: 12px;
    }

    .filt-com h4 {
        font-size: 15px;
        line-height: 1.35;
    }

    .chat-user-item {
        padding: 10px;
        gap: 8px;
    }

    .chat-user-item strong {
        font-size: 13px;
        line-height: 1.3;
    }

    .chat-user-item small {
        font-size: 12px;
        line-height: 1.35;
    }

    .msg {
        font-size: 13px;
        line-height: 1.45;
    }

    .btn,
    .cta-3,
    .cta-chat {
        font-size: 13px;
        line-height: 1.3;
        padding-top: 9px;
        padding-bottom: 9px;
    }

    .table th,
    .table td {
        font-size: 12px;
        line-height: 1.45;
        padding: 8px 6px;
    }
}

@media (max-width: 575px) {
    body {
        font-size: 13px;
    }

    h1 {
        font-size: 22px;
    }

    h2,
    h2.db-tit {
        font-size: 18px;
    }

    h3 {
        font-size: 16px;
    }

    .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .all-pro-head {
        padding: 38px 12px 16px;
    }

    .all-pro-head h1 {
        font-size: 24px;
        margin-bottom: 12px;
    }

    .all-pro-head a {
        font-size: 12px;
        padding: 9px 12px;
        margin-bottom: 6px;
    }

    .all-pro-head .fil-mob {
        margin-top: 12px;
        margin-left: 8px;
        margin-right: 8px;
        width: calc(100% - 16px);
        border-radius: 12px;
    }

    .all-pro-head .fil-mob h4 {
        font-size: 18px;
    }

    .db-nav,
    .db-pro-stat,
    .db-profile,
    .db-invoice,
    .prof-sec,
    .all-pro-box,
    .chat-shell {
        margin-bottom: 12px;
    }

    .db-int-pro-1 {
        width: 80px;
    }

    .db-int-pro-1 img {
        width: 70px;
        height: 70px;
    }

    .chat-head h5 {
        font-size: 14px;
        line-height: 1.3;
    }

    .chat-head small {
        font-size: 12px;
    }
}

/* Final mobile alignment fixes */
@media (max-width: 991px) {
    .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Keep heading fully below sticky navbar on profile listing pages */
    .all-pro-head {
        margin-top: calc(var(--mtop) + 18px) !important;
        padding-top: 36px;
    }

    /* Same visual width for CTA and filter trigger in mobile */
    .all-pro-head a,
    .all-pro-head .fil-mob {
        display: block;
        width: calc(100% - 24px);
        margin-left: 12px;
        margin-right: 12px;
    }

    .all-pro-head a {
        text-align: center;
    }

    .all-pro-head .fil-mob {
        margin-top: 12px;
    }

    /* Apply/Reset actions should not collide in filter panel */
    .send-query .btn.btn-primary,
    .send-query .btn.btn-link {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 8px;
    }

    .send-query .btn.btn-link {
        padding: 8px 12px;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
    }

    /* Home page: separate slider and news/events blocks */
    .hom-ban-sli {
        margin-bottom: 14px;
    }

    .hom-head .home-search-center {
        margin-bottom: 20px !important;
    }

    .news-event-section {
        margin-top: 22px !important;
        padding-top: 12px !important;
        margin-bottom: 18px;
    }

    .news-event-wrap {
        margin-top: 10px !important;
        margin-bottom: 0 !important;
    }

    .news-event-card {
        padding: 18px !important;
        border-radius: 12px !important;
    }

    /* Remove the default large top-gap before the next banner on mobile */
    .news-event-section + .modal + section .ban-home,
    .news-event-section + section .ban-home {
        margin-top: 0 !important;
    }
}

@media (max-width: 769px) {
    .all-pro-head h1 {
        font-size: 24px;
        margin-top: 0;
    }

    .all-pro-head a {
        padding: 10px 12px;
        font-size: 14px;
    }

    .all-pro-head .fil-mob h4 {
        font-size: 17px;
        line-height: 1.35;
    }

    .about-hero h2 {
        font-size: 28px;
        line-height: 1.3;
        margin-bottom: 10px;
    }

    .about-hero p {
        font-size: 14px;
        line-height: 1.65;
    }
}

@media (max-width: 575px) {
    .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .all-pro-head {
        margin-top: calc(var(--mtop) + 12px) !important;
        padding-top: 30px;
    }

    .all-pro-head a,
    .all-pro-head .fil-mob {
        width: calc(100% - 16px);
        margin-left: 8px;
        margin-right: 8px;
    }

    .about-hero h2 {
        font-size: 24px;
    }

    .about-hero p {
        font-size: 13px;
    }
}

/* About + Contact dedicated mobile fixes */
@media (max-width: 991px) {
    .ab-ban,
    .about-premium,
    .ab-sec2.pg-cont,
    .login.pg-cont,
    .news-event-section {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .ab-ban .container,
    .about-premium .container,
    .ab-sec2.pg-cont .container,
    .login.pg-cont .container,
    .news-event-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .ab-ban {
        margin-top: calc(var(--mtop) + 10px) !important;
    }

    .ab-ban .ban-tit h1 {
        font-size: 2.2rem !important;
        letter-spacing: 1px !important;
        line-height: 1.2 !important;
    }

    .ab-ban .ban-tit p {
        font-size: 1rem !important;
        line-height: 1.55 !important;
    }

    .about-hero h2 {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }

    .about-hero p,
    .about-premium p,
    .about-premium .text-muted,
    .about-premium .small {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .about-premium .glass-card,
    .about-highlight {
        padding: 20px !important;
    }

    .ab-sec2.pg-cont ul li,
    .login.pg-cont .inn,
    .news-event-card {
        margin-bottom: 14px !important;
    }

    .pg-cont .map-box {
        width: 100% !important;
        max-width: 100% !important;
        height: 280px !important;
        margin-bottom: 16px !important;
    }

    .news-event-section {
        margin-top: 28px !important;
        padding-top: 12px !important;
    }

    .news-event-wrap {
        margin-top: 12px !important;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 575px) {
    .ab-ban .container,
    .about-premium .container,
    .ab-sec2.pg-cont .container,
    .login.pg-cont .container,
    .news-event-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .ab-ban {
        margin-top: calc(var(--mtop) + 6px) !important;
    }

    .ab-ban .ban-tit h1 {
        font-size: 1.9rem !important;
    }

    .ab-ban .ban-tit p {
        font-size: 0.92rem !important;
    }

    .about-hero h2 {
        font-size: 22px !important;
    }

    .about-hero p,
    .about-premium p,
    .about-premium .text-muted,
    .about-premium .small {
        font-size: 13px !important;
    }

    .pg-cont .map-box {
        height: 230px !important;
        border-radius: 10px !important;
    }

    .news-event-section {
        margin-top: 24px !important;
        padding-top: 10px !important;
        margin-bottom: 20px !important;
    }

    .news-event-wrap {
        margin-top: 10px !important;
    }
}

