
        /* =====================================
           GLOBAL RESET
        ===================================== */

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary: #153f38;
            --primary-dark: #0b2d27;
            --primary-light: #28594f;

            --gold: #b88d2c;
            --gold-dark: #96701c;
            --gold-light: #f4ecd8;

            --text: #202c2a;
            --muted: #6f7775;
            --border: #dde4df;

            --white: #ffffff;
            --surface: #ffffff;
            --background: #f7f7f3;

            --container: 1320px;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            min-height: 100vh;
            overflow-x: hidden;

            background: var(--background);
            color: var(--text);

            font-family: "DM Sans", sans-serif;
        }

        button,
        select {
            font: inherit;
        }

        button,
        a {
            -webkit-tap-highlight-color: transparent;
        }

        img {
            max-width: 100%;
        }

        .main-container {
            width: min(var(--container), calc(100% - 48px));
            margin-inline: auto;
        }

        /* =====================================
           HERO SECTION
        ===================================== */

        .hospitality-hero {
            position: relative;
            overflow: hidden;

            padding: 82px 0 112px;

            background:
                radial-gradient(
                    circle at 90% 10%,
                    rgba(228, 177, 77, 0.24),
                    transparent 28%
                ),
                radial-gradient(
                    circle at 8% 90%,
                    rgba(255, 255, 255, 0.08),
                    transparent 30%
                ),
                linear-gradient(
                    135deg,
                    #0d2e27 0%,
                    #163e34 52%,
                    #214c40 100%
                );
        }

        .hospitality-hero::before {
            position: absolute;
            inset: 0;

            background-image:
                linear-gradient(
                    rgba(255, 255, 255, 0.025) 1px,
                    transparent 1px
                ),
                linear-gradient(
                    90deg,
                    rgba(255, 255, 255, 0.025) 1px,
                    transparent 1px
                );

            background-size: 44px 44px;

            content: "";
        }

        .hospitality-hero::after {
            position: absolute;
            top: -150px;
            right: -140px;

            width: 440px;
            height: 440px;

            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 50%;

            box-shadow:
                0 0 0 60px rgba(255, 255, 255, 0.018),
                0 0 0 120px rgba(255, 255, 255, 0.012);

            content: "";
        }

        .hero-content {
            position: relative;
            z-index: 2;
        }

        .hero-heading {
            max-width: 940px;
            margin: 0 auto;

            text-align: center;
        }

        .hero-label {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;

            padding: 10px 20px;

            border: 1px solid rgba(255, 255, 255, 0.16);
            border-radius: 50px;

            background: rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(16px);

            color: #f2cc76;

            font-size: 12px;
            font-weight: 700;
            letter-spacing: 1.8px;
            text-transform: uppercase;
        }

        .hero-label::before {
            width: 7px;
            height: 7px;

            border-radius: 50%;
            background: #e6b44e;

            box-shadow: 0 0 0 5px rgba(230, 180, 78, 0.13);

            content: "";
        }

        .hero-heading h1 {
            max-width: 900px;
            margin: 25px auto 18px;

            color: var(--white);

            font-family: "Playfair Display", serif;
            font-size: clamp(38px, 5vw, 62px);
            font-weight: 600;
            line-height: 1.08;
            letter-spacing: -1.5px;
        }

        .hero-heading h1 span {
            display: block;
            color: #e4b14d;
        }

        .hero-heading p {
            max-width: 760px;
            margin: 0 auto;

            color: rgba(255, 255, 255, 0.72);

            font-size: 16px;
            line-height: 1.8;
        }

        /* =====================================
           SEARCH BOX
        ===================================== */

        .premium-search-box {
            display: flex;
            align-items: stretch;
            gap: 12px;

            width: min(950px, 100%);
            margin: 40px auto 0;
            padding: 10px;

            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 22px;

            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(18px);

            box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2);
        }

        .search-input {
            display: flex;
            flex: 1;
            align-items: center;
            gap: 14px;

            min-width: 0;
            padding: 0 22px;

            border-radius: 15px;
            background: var(--white);
        }

        .search-input i {
            flex-shrink: 0;

            color: var(--gold);
            font-size: 17px;
        }

        .search-input input {
            width: 100%;
            height: 58px;

            border: 0;
            outline: 0;
            background: transparent;

            color: var(--primary-dark);
            font-size: 15px;
        }

        .search-input input::placeholder {
            color: #89918e;
        }

        .search-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;

            min-width: 170px;
            height: 58px;
            padding: 0 25px;

            border: 0;
            border-radius: 15px;

            background:
                linear-gradient(
                    135deg,
                    #d6a63f,
                    #b88220
                );

            color: var(--white);

            cursor: pointer;

            font-size: 14px;
            font-weight: 700;

            box-shadow: 0 14px 30px rgba(190, 137, 32, 0.28);

            transition:
                transform 0.3s ease,
                box-shadow 0.3s ease;
        }

        .search-button:hover {
            transform: translateY(-3px);

            box-shadow: 0 20px 38px rgba(190, 137, 32, 0.4);
        }

        /* =====================================
           FILTER SECTION
        ===================================== */

        .premium-filter-section {
            position: relative;
            z-index: 10;

            background: transparent;
        }

        .filter-wrapper {
            margin-top: -45px;
        }

        .filter-card {
            display: grid;
            grid-template-columns:
                repeat(5, minmax(0, 1fr))
                minmax(165px, 0.85fr);

            align-items: end;
            gap: 16px;

            padding: 25px;

            border: 1px solid #e8e1d3;
            border-radius: 22px;

            background: var(--white);

            box-shadow: 0 22px 60px rgba(14, 48, 41, 0.12);
        }

        .filter-item {
            display: flex;
            flex-direction: column;
            min-width: 0;
        }

        .filter-item label {
            margin: 0 0 9px 2px;

            color: var(--primary-dark);

            font-size: 11px;
            font-weight: 700;
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        .select-wrap {
            position: relative;
        }

        .select-wrap::after {
            position: absolute;
            top: 50%;
            right: 16px;

            color: var(--gold);

            font-family: "Font Awesome 6 Free";
            font-size: 11px;
            font-weight: 900;

            pointer-events: none;

            content: "\f078";

            transform: translateY(-50%);
        }

        .filter-item select {
            width: 100%;
            height: 52px;
            padding: 0 38px 0 15px;

            border: 1px solid #e3e1da;
            border-radius: 12px;

            appearance: none;
            outline: none;

            background: #fbfaf7;
            color: #46514e;

            cursor: pointer;
            font-size: 13px;

            transition:
                border-color 0.25s ease,
                box-shadow 0.25s ease,
                background 0.25s ease;
        }

        .filter-item select:hover,
        .filter-item select:focus {
            border-color: #c49a43;
            background: var(--white);

            box-shadow: 0 0 0 4px rgba(196, 154, 67, 0.1);
        }

        .filter-button-wrap {
            display: flex;
            align-items: flex-end;
        }

        .filter-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;

            width: 100%;
            height: 52px;
            padding: 0 18px;

            border: 0;
            border-radius: 12px;

            background:
                linear-gradient(
                    135deg,
                    var(--primary-dark),
                    var(--primary-light)
                );

            color: var(--white);

            cursor: pointer;

            font-size: 13px;
            font-weight: 700;

            box-shadow: 0 12px 24px rgba(21, 63, 56, 0.18);

            transition:
                transform 0.3s ease,
                box-shadow 0.3s ease,
                background 0.3s ease;
        }

        .filter-button:hover {
            transform: translateY(-3px);

            background:
                linear-gradient(
                    135deg,
                    #d0a13d,
                    #ad7b1d
                );

            box-shadow: 0 17px 30px rgba(184, 141, 44, 0.26);
        }

        /* =====================================
           OPPORTUNITIES SECTION
        ===================================== */

        .opportunities-section {
            padding: 72px 0 90px;

            background:
                radial-gradient(
                    circle at top left,
                    rgba(182, 146, 46, 0.07),
                    transparent 26%
                ),
                linear-gradient(
                    180deg,
                    #f8f8f5 0%,
                    #f2f5f2 100%
                );
        }

        .section-header {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 30px;

            margin-bottom: 30px;
        }

        .section-heading {
            max-width: 760px;
        }

        .section-label {
            display: inline-flex;
            align-items: center;
            gap: 10px;

            margin-bottom: 12px;

            color: var(--gold-dark);

            font-size: 11px;
            font-weight: 700;
            letter-spacing: 1.8px;
            text-transform: uppercase;
        }

        .section-label::before {
            width: 34px;
            height: 1px;

            background: var(--gold);

            content: "";
        }

        .section-heading h2 {
            margin-bottom: 10px;

            color: var(--primary-dark);

            font-family: "Playfair Display", serif;
            font-size: clamp(30px, 4vw, 43px);
            font-weight: 600;
            line-height: 1.18;
        }

        .section-heading p {
            max-width: 680px;

            color: var(--muted);

            font-size: 14px;
            line-height: 1.75;
        }

        .results-count {
            flex-shrink: 0;

            padding: 10px 16px;

            border: 1px solid #ddd8cc;
            border-radius: 50px;

            background: rgba(255, 255, 255, 0.7);

            color: #5e6865;

            font-size: 12px;
            font-weight: 600;
        }

        .results-count strong {
            color: var(--primary-dark);
        }

   /*=========================================
=            PREMIUM CARD - PART 1        =
=========================================*/

/*------------------------------
Grid
------------------------------*/

.opportunities-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
    align-items:stretch;
    padding:20px 20px;
}

/*------------------------------
Card
------------------------------*/

.opportunity-card{

    position:relative;
    display:flex;
    flex-direction:column;

    overflow:hidden;

    border:1px solid rgba(20,62,54,.10);
    border-radius:24px;

    background:#fff;

    box-shadow:
        0 8px 18px rgba(16,44,38,.05),
        0 18px 42px rgba(16,44,38,.08);

    transition:.45s ease;
}

.opportunity-card:hover{

    transform:translateY(-10px);

    border-color:#ccb26c;

    box-shadow:
        0 18px 35px rgba(16,44,38,.10),
        0 35px 70px rgba(16,44,38,.16);

}

/*------------------------------
Header
------------------------------*/

.card-top{

    position:relative;

    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    min-height:148px;

    padding:18px 18px 20px;

    overflow:hidden;

    background:
    linear-gradient(135deg,#173d37 0%,#19463f 50%,#1a5048 100%);
}

/* diagonal premium texture */

.card-top::before{

    content:"";

    position:absolute;
    inset:0;

    background-image:
    repeating-linear-gradient(
    -60deg,
    rgba(255,255,255,.03) 0px,
    rgba(255,255,255,.03) 1px,
    transparent 1px,
    transparent 12px);

    opacity:.75;
}

/* golden glow */

.card-top::after{

    content:"";

    position:absolute;

    right:-110px;
    top:-110px;

    width:260px;
    height:260px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(214,181,103,.18),
    transparent 70%);
}

/*------------------------------
Header Content
------------------------------*/

.top-content{

    position:relative;
    z-index:2;

    width:100%;
}

/* Category */

.category{

    display:block;

    margin-bottom:16px;

    color:#d8b56d;

    font-size:11px;
    font-weight:700;
    letter-spacing:1.6px;

    text-transform:uppercase;
}

/*------------------------------
Header Icon
------------------------------*/

.top-content::after{

    content:"\f6c0";

    font-family:"Font Awesome 6 Free";
    font-weight:900;

    position:absolute;

    left:50%;
    top:56px;

    transform:translateX(-50%);

    font-size:38px;

    color:#d8b56d;

    opacity:.95;
}

/*------------------------------
Title
------------------------------*/

.card-title{

    margin:72px 0 10px;

    color:#ffffff;

    font-family:"Playfair Display",serif;

    font-size:28px;
    font-weight:600;
    line-height:1.25;

    letter-spacing:.2px;
}

/*------------------------------
Location
------------------------------*/

.location{

    display:flex;
    align-items:center;
    gap:8px;

    color:rgba(255,255,255,.78);

    font-size:13px;
}

.location i{

    color:#d8b56d;
}

/*------------------------------
Score Box
------------------------------*/

.score-box{

    position:absolute;

    top:14px;
    right:14px;

    z-index:5;

    width:52px;
    height:52px;

    border-radius:14px;

    background:#f6f0e5;

    border:1px solid rgba(255,255,255,.55);

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    box-shadow:
    0 8px 20px rgba(0,0,0,.15);
}

.score-number{

    font-family:"Playfair Display",serif;

    color:#175046;

    font-size:20px;
    font-weight:700;

    line-height:1;
}

.score-status{

    margin-top:4px;

    color:#245448;

    font-size:8px;
    font-weight:700;

    text-transform:uppercase;
}

/*------------------------------
Header Bottom Curve
------------------------------*/

.card-top .header-divider{

    position:absolute;

    bottom:0;
    left:0;

    width:100%;
    height:14px;

    background:
    linear-gradient(to bottom,
    transparent,
    rgba(255,255,255,.08));
}

/*------------------------------
Image/Icon Area
------------------------------*/

.card-top svg,
.card-top img{

    max-width:54px;
}

/*------------------------------
Hover
------------------------------*/

.opportunity-card:hover .score-box{

    transform:scale(1.06);

    transition:.35s;
}

.opportunity-card:hover .top-content::after{

    transform:translateX(-50%) scale(1.08);

    transition:.35s;
}

/*=========================================
=         PREMIUM CARD - PART 2           =
=========================================*/

/*------------------------------
Card Body
------------------------------*/

.card-body{

    display:flex;
    flex:1;
    flex-direction:column;

    padding:18px 18px 16px;

    background:
    radial-gradient(circle at top right,
    rgba(206,178,110,.10),
    transparent 42%),
    #ffffff;
}

/*------------------------------
Title
------------------------------*/

.card-title{

    margin:0 0 8px;

    color:#b6872c;

    font-size:15px;
    font-weight:700;
    font-family:inherit;

    text-transform:uppercase;
    letter-spacing:.5px;
}

/*------------------------------
Description
------------------------------*/

.description{

    margin:0 0 10px;

    color:#243b35;

    font-family:"Playfair Display",serif;

    font-size:18px;
    font-weight:500;
    line-height:1.35;

    text-align:left;
}

/*------------------------------
Specification
------------------------------*/

.feature-row{

    display:flex;
    flex-wrap:wrap;

    gap:8px;

    margin-bottom:14px;
}

.feature-row:first-of-type{

    margin-bottom:16px;

    color:#6f7b77;

    font-size:14px;
}

/*------------------------------
Verification
------------------------------*/

.verification-row{

    display:flex;
    flex-wrap:wrap;

    gap:8px;

    margin-bottom:12px;
}

/*------------------------------
Badges
------------------------------*/

.badge{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:5px;

    height:26px;

    padding:0 12px;

    border-radius:999px;

    font-size:12px;
    font-weight:600;

    white-space:nowrap;

    transition:.30s;
}

.badge i{

    font-size:10px;
}

/* Excellent */

.badge-verified{

    background:#2f7d69;
    color:#fff;
}

/* Docs */

.badge-gold{

    background:#edf4ef;

    color:#2f6e63;

    border:1px solid #d7e5dd;
}

/* Neutral */

.badge-neutral{

    background:#f1ede3;

    color:#36433f;
}

/* Sale */

.badge-sale{

    background:transparent;

    color:#666;

    padding:0;

    height:auto;

    border-radius:0;

    font-size:14px;

    font-weight:500;
}

/*------------------------------
Qty & Location
------------------------------*/

.access-info{

    display:flex;
    flex-wrap:wrap;

    gap:8px;

    margin-top:2px;
    margin-bottom:18px;
}

.access-info i{

    display:none;
}

.access-info .badge{

    background:#f1ede3;

    color:#2c3935;

    font-size:13px;
}

/*------------------------------
Divider
------------------------------*/

.card-divider{

    width:100%;
    height:1px;

    margin:2px 0 16px;

    background:#e6dfd3;
}

/*------------------------------
Footer
------------------------------*/

.card-footer{

    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:14px;
}

.decision-score{

    color:#173d37;

    font-size:15px;

    font-weight:700;

    line-height:1.4;
}

.decision-score small{

    color:#7d807d;

    font-size:13px;

    font-weight:500;
}

/*------------------------------
Button
------------------------------*/

.card-button{

    display:flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    width:max-content;

    margin-left:auto;

    padding:11px 20px;

    border:1.5px solid #173d37;

    border-radius:40px;

    background:#fff;

    color:#173d37;

    font-size:15px;
    font-weight:700;

    text-decoration:none;

    transition:.35s;
}

.card-button i{

    transition:.35s;
}

.card-button:hover{

    background:#173d37;

    color:#fff;

    box-shadow:
    0 12px 25px rgba(23,61,55,.20);
}

.card-button:hover i{

    transform:translateX(5px);
}

/*------------------------------
Hover
------------------------------*/

.opportunity-card:hover .badge{

    transform:translateY(-2px);
}

.opportunity-card:hover .description{

    color:#173d37;
}

.opportunity-card:hover .card-button{

    border-color:#173d37;
}

/*------------------------------
Responsive
------------------------------*/

@media(max-width:1100px){

.opportunities-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.opportunities-grid{

grid-template-columns:1fr;

}

.card-top{

min-height:140px;

}

.description{

font-size:17px;

}

.card-button{

width:100%;

margin-left:0;

}

.card-footer{

flex-direction:column;
align-items:flex-start;
gap:12px;

}

}
        /* =====================================
           RESPONSIVE
        ===================================== */

        @media (max-width: 1200px) {
            .filter-card {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .opportunities-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 820px) {
            .main-container {
                width: min(100% - 32px, var(--container));
            }

            .hospitality-hero {
                padding: 62px 0 100px;
            }

            .premium-search-box {
                flex-direction: column;

                padding: 9px;
                border-radius: 18px;
            }

            .search-input,
            .search-button {
                width: 100%;
            }

            .search-button {
                min-width: 0;
            }

            .filter-wrapper {
                margin-top: -40px;
            }

            .filter-card {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                padding: 20px;
            }

            .section-header {
                align-items: flex-start;
                flex-direction: column;
                gap: 16px;
            }

            .results-count {
                align-self: flex-start;
            }
        }

        @media (max-width: 680px) {
            .main-container {
                width: min(100% - 24px, var(--container));
            }

            .hospitality-hero {
                padding: 50px 0 90px;
            }

            .hero-label {
                padding: 9px 14px;

                font-size: 9px;
                letter-spacing: 1.1px;
            }

            .hero-heading h1 {
                margin-top: 21px;

                font-size: 34px;
                letter-spacing: -0.6px;
            }

            .hero-heading p {
                font-size: 14px;
                line-height: 1.7;
            }

            .premium-search-box {
                margin-top: 30px;
            }

            .search-input {
                padding: 0 16px;
            }

            .search-input input,
            .search-button {
                height: 54px;
            }

            .filter-card {
                grid-template-columns: 1fr;
                gap: 14px;

                padding: 17px;
                border-radius: 18px;
            }

            .opportunities-section {
                padding: 55px 0 70px;
            }

            .opportunities-grid {
                grid-template-columns: 1fr;
            }

            .section-header {
                margin-bottom: 24px;
            }
        }

        @media (max-width: 400px) {
            .card-top,
            .card-body {
                padding-left: 18px;
                padding-right: 18px;
            }

            .card-footer {
                align-items: stretch;
                flex-direction: column;
            }

            .card-button {
                width: 100%;
            }

            .description {
                text-align: left;
            }
        }
  
        /* =====================================
   JOB MARKETPLACE SECTION
===================================== */

.opportunities-section {
    padding: 70px 0 90px;
    background: #f8f6f1;
}

.section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 35px;
}

.section-heading {
    max-width: 760px;
}

.section-label {
    display: inline-block;
    margin-bottom: 10px;
    color: #b08a43;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.section-heading h2 {
    margin: 0;
    color: #14251f;
    font-family: "Playfair Display", serif;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.2;
}

.section-heading p {
    margin: 12px 0 0;
    color: #68736e;
    font-size: 15px;
    line-height: 1.7;
}

.results-count {
    flex-shrink: 0;
    color: #6a746f;
    font-size: 14px;
}

.results-count strong {
    color: #14251f;
    font-weight: 700;
}


/* =====================================
   EMPTY STATE
===================================== */

.empty-state {
    padding: 70px 25px;
    border: 1px solid #e7e1d6;
    border-radius: 18px;
    background: #ffffff;
    text-align: center;
    box-shadow: 0 15px 40px rgba(28, 42, 36, 0.06);
}

.empty-state-icon {
    display: inline-flex;
    width: 68px;
    height: 68px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 50%;
    background: #f4eee2;
    color: #b08a43;
    font-size: 26px;
}

.empty-state h3 {
    margin: 0;
    color: #14251f;
    font-family: "Playfair Display", serif;
    font-size: 28px;
}

.empty-state p {
    max-width: 520px;
    margin: 12px auto 24px;
    color: #707b76;
    font-size: 15px;
    line-height: 1.7;
}

.empty-state .filter-button {
    display: inline-flex;
    width: auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
}


/* =====================================
   DISABLED JOB BUTTON
===================================== */

.job-button-disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}


/* =====================================
   PAGINATION
===================================== */

.marketplace-pagination {
    display: flex;
    justify-content: center;
    margin-top: 45px;
}

.marketplace-pagination nav {
    width: 100%;
}

.marketplace-pagination nav > div:first-child {
    display: none;
}

.marketplace-pagination nav > div:last-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.marketplace-pagination span,
.marketplace-pagination a {
    text-decoration: none;
}

.marketplace-pagination nav svg {
    width: 18px;
    height: 18px;
}

.marketplace-pagination nav > div:last-child > div:last-child {
    display: flex;
    align-items: center;
    gap: 6px;
}

.marketplace-pagination nav > div:last-child > div:last-child span,
.marketplace-pagination nav > div:last-child > div:last-child a {
    display: inline-flex;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd6c9;
    border-radius: 8px;
    background: #ffffff;
    color: #263a32;
    font-size: 14px;
    transition: 0.25s ease;
}

.marketplace-pagination nav > div:last-child > div:last-child a:hover {
    border-color: #b08a43;
    background: #b08a43;
    color: #ffffff;
}

.marketplace-pagination nav > div:last-child > div:last-child span[aria-current="page"] span {
    border-color: #b08a43;
    background: #b08a43;
    color: #ffffff;
}


/* =====================================
   FILTER INPUT
===================================== */

.filter-item input[type="text"] {
    width: 100%;
    height: 48px;
    padding: 0 15px;
    border: 1px solid #dcd6cb;
    border-radius: 8px;
    outline: none;
    background: #ffffff;
    color: #263a32;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
}

.filter-item input[type="text"]:focus {
    border-color: #b08a43;
    box-shadow: 0 0 0 3px rgba(176, 138, 67, 0.1);
}


/* =====================================
   RESPONSIVE
===================================== */

@media (max-width: 991px) {
    .section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .section-heading h2 {
        font-size: 32px;
    }

    .results-count {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .opportunities-section {
        padding: 50px 0 65px;
    }

    .section-heading h2 {
        font-size: 28px;
    }

    .empty-state {
        padding: 50px 20px;
    }

    .marketplace-pagination nav > div:last-child {
        align-items: flex-start;
        flex-direction: column;
    }
}

.verification-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.verification-row .badge {
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
    line-height: 1.5;
}

.job-opportunity-card .card-body {
    padding: 22px 22px 24px;
}

.job-opportunity-card .description {
    margin: 0 0 18px;
    color: #24463d;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
}

.job-opportunity-card .verification-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
}

.job-opportunity-card .verification-row .badge {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    align-items: flex-start;
    gap: 8px;
    padding: 5px 13px;
    border-radius: 12px;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.job-opportunity-card .verification-row .badge i {
    flex-shrink: 0;
    margin-top: 3px;
}

.job-opportunity-card .verification-row .badge-neutral {
    background: #f4f0e8;
    color: #46544f;
}

.job-opportunity-card .verification-row .badge-gold {
    background: #eaf4f0;
    color: #2d6b5f;
}

.job-opportunity-card .feature-row,
.job-opportunity-card .access-info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    /*margin-top: 12px;*/
}

.job-opportunity-card .feature-row .badge,
.job-opportunity-card .access-info .badge {
    padding: 8px 13px;
    line-height: 1.3;
}

@media (max-width: 767px) {
    .job-opportunity-card .description {
        font-size: 15px;
        line-height: 1.5;
    }

    .job-opportunity-card .verification-row .badge {
        width: 100%;
    }
}

.job-opportunity-card .verification-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.job-opportunity-card .verification-row .badge-neutral {
    display: flex;
    width: 100%;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 14px;
    white-space: normal;
    line-height: 1.45;
    margin-bottom: 16px;
}

.job-opportunity-card .verification-row .badge-neutral i {
    flex-shrink: 0;
    margin-top: 3px;
}

.job-opportunity-card .verification-row .badge-gold {
    width: auto;
}

/* ==========================================
   FINAL JOB CARD DESIGN
   Asset card style
========================================== */

.opportunities-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    padding: 20px !important;
    align-items: stretch !important;
}

/* Card */

.job-opportunity-card {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    flex-direction: column !important;
    overflow: hidden !important;

    border: 1px solid #d7ddd8 !important;
    border-radius: 18px !important;

    background: #fffdf8 !important;

    box-shadow: none !important;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease !important;
}

.job-opportunity-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 15px 34px rgba(18, 54, 46, 0.11) !important;
}

/* ==========================================
   TOP SECTION
========================================== */

.job-opportunity-card .card-top {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    min-height: 148px !important;
    height: 148px !important;
    padding: 18px 20px !important;

    overflow: hidden !important;

    background:
        linear-gradient(
            135deg,
            #153f38 0%,
            #19483f 55%,
            #28594f 100%
        ) !important;
}

/* Diagonal pattern */

.job-opportunity-card .card-top::before {
    position: absolute !important;
    inset: 0 !important;

    background-image:
        repeating-linear-gradient(
            -60deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 1px,
            transparent 1px,
            transparent 13px
        ) !important;

    content: "" !important;
}

/* Remove old generic icon */

.job-opportunity-card .top-content::after {
    display: none !important;
    content: none !important;
}

/* Add centered hospitality icon */

.job-opportunity-card .card-top::after {
    position: absolute !important;
    z-index: 2 !important;

    top: 50% !important;
    left: 50% !important;

    color: #d9bb70 !important;

    content: "\f594" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-size: 38px !important;
    font-weight: 900 !important;

    transform: translate(-50%, -25%) !important;
}

/* Top content */

.job-opportunity-card .top-content {
    position: relative !important;
    z-index: 3 !important;

    display: block !important;

    width: 100% !important;
    padding: 0 !important;
}

/* Category */

.job-opportunity-card .category {
    display: block !important;

    margin: 0 0 16px !important;

    color: #dfbd65 !important;

    font-family: "DM Sans", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
}

/* Job title */

.job-opportunity-card .card-title {
    display: -webkit-box !important;

    max-width: calc(100% - 20px) !important;
    min-height: auto !important;
    margin: 0 0 9px !important;

    overflow: hidden !important;

    color: #c88720 !important;

    font-family: "DM Sans", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
}

/* Location */

.job-opportunity-card .location {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;

    color: rgba(255, 255, 255, 0.82) !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.job-opportunity-card .location i {
    flex-shrink: 0 !important;
    color: #dfbd65 !important;
    font-size: 13px !important;
}

/* ==========================================
   CARD BODY
========================================== */

.job-opportunity-card .card-body {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;

    min-height: 350px !important;
    padding: 20px 21px 17px !important;

    background:
        radial-gradient(
            circle at top right,
            rgba(196, 157, 74, 0.06),
            transparent 38%
        ),
        #fffdf8 !important;
}

/* Description */

.job-opportunity-card .description {
    display: -webkit-box !important;

    min-height: 66px !important;
    margin: 0 0 14px !important;

    overflow: hidden !important;

    color: #173f37 !important;

    font-family: "DM Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    text-align: left !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

/* ==========================================
   SKILLS AND COMPANY
========================================== */

.job-opportunity-card .verification-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;

    gap: 7px !important;
    margin: 0 0 11px !important;
}

/* Skills full row */

.job-opportunity-card .verification-row .badge-neutral {
    display: flex !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 29px !important;
    height: auto !important;
    padding: 7px 11px !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 7px !important;

    border-radius: 12px !important;

    background: #eee8db !important;
    color: #35423e !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.job-opportunity-card .verification-row .badge-neutral i {
    flex-shrink: 0 !important;
    margin-top: 2px !important;
    font-size: 9px !important;
}

/* Company badge */

.job-opportunity-card .verification-row .badge-gold {
    display: inline-flex !important;

    width: auto !important;
    min-height: 29px !important;
    padding: 7px 11px !important;

    align-items: center !important;
    gap: 6px !important;

    border: 1px solid #d6e6df !important;
    border-radius: 50px !important;

    background: #e8f2ee !important;
    color: #2d7163 !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* ==========================================
   SALARY, TYPE, EXPERIENCE
========================================== */

.job-opportunity-card .feature-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;

    min-height: auto !important;
    gap: 7px !important;
    margin: 0 0 11px !important;
}

.job-opportunity-card .feature-row .badge {
    display: inline-flex !important;

    width: auto !important;
    min-height: 29px !important;
    height: auto !important;
    padding: 7px 11px !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    border-radius: 50px !important;

    background: #eee8db !important;
    color: #33413d !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.job-opportunity-card .feature-row .badge i {
    flex-shrink: 0 !important;
    font-size: 9px !important;
}

/* ==========================================
   DEADLINE, CATEGORY, RECRUITER
========================================== */

.job-opportunity-card .access-info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;

    min-height: auto !important;
    gap: 7px !important;
    margin: 0 0 13px !important;
}

.job-opportunity-card .access-info .badge {
    display: inline-flex !important;

    width: auto !important;
    min-height: 29px !important;
    height: auto !important;
    padding: 7px 11px !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    border-radius: 50px !important;

    background: #eee8db !important;
    color: #33413d !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.job-opportunity-card .access-info .badge i {
    display: inline-block !important;
    flex-shrink: 0 !important;
    font-size: 9px !important;
}

/* Divider */

.job-opportunity-card .card-divider {
    width: 100% !important;
    height: 1px !important;
    margin: auto 0 14px !important;

    background: #deddd6 !important;
}

/* ==========================================
   FOOTER
========================================== */

.job-opportunity-card .card-footer {
    display: flex !important;

    min-height: 32px !important;
    margin: 0 0 12px !important;

    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.job-opportunity-card .decision-score {
    color: #173f37 !important;

    font-family: "DM Sans", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.job-opportunity-card .badge-sale {
    display: inline-flex !important;

    width: auto !important;
    height: auto !important;
    padding: 0 !important;

    background: transparent !important;
    color: #68716e !important;

    font-size: 11px !important;
    font-weight: 500 !important;
}

/* Apply button */

.job-opportunity-card > .card-body > .card-button {
    display: inline-flex !important;

    width: auto !important;
    min-width: 135px !important;
    min-height: 40px !important;
    margin: 0 0 0 auto !important;
    padding: 9px 16px !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    border: 1px solid #16483f !important;
    border-radius: 50px !important;

    background: transparent !important;
    color: #173f38 !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.job-opportunity-card > .card-body > .card-button i {
    font-size: 11px !important;
}

.job-opportunity-card > .card-body > .card-button:hover {
    background: #16483f !important;
    color: #ffffff !important;
}

/* Disabled button */

.job-opportunity-card .job-button-disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1100px) {
    .opportunities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .opportunities-grid {
        grid-template-columns: 1fr !important;
        padding: 12px !important;
    }

    .job-opportunity-card .card-body {
        min-height: auto !important;
    }

    .job-opportunity-card .card-title {
        font-size: 17px !important;
    }

    .job-opportunity-card > .card-body > .card-button {
        width: 100% !important;
    }
}
.job-opportunity-card .card-top::after {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.job-opportunity-card .description {
    display: -webkit-box !important;
    min-height: 48px !important;
    margin: 0 0 14px !important;
    overflow: hidden !important;

    color: #706d66 !important;
    font-family: "Playfair Display", serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    text-align: center !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}