:root {
        --resort-primary: #579580;
        --resort-primary-dark: #43776a;
        --resort-text: #222222;
        --resort-muted: #6c6c6c;
        --resort-border: #e3e3e3;
        --resort-bg-soft: #f6f9f8;
    }

    /* ---- Section headings (reuse theme feel) ---- */
    #resort-rooms .el-smalltitle,
    #resort-venues .el-smalltitle,
    #resort-catering .el-smalltitle,
    #resort-cost .el-smalltitle,
    #resort-why-choose .el-smalltitle,
    #resort-location .el-smalltitle,
    #resort-contact .el-smalltitle {
        color: var(--resort-primary);
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-size: 14px;
        margin-bottom: 10px;
    }

    #resort-rooms h2,
    #resort-venues h2,
    #resort-catering h2,
    #resort-cost h2,
    #resort-why-choose h2,
    #resort-location h2,
    #resort-contact h2 {
        color: var(--resort-text);
        font-weight: 800;
    }

    /* ---- Tables (Rooms + Venues) ---- */
    .resort-info-table {
        width: 100%;
        border-collapse: collapse;
        background: #fff;
        box-shadow: 0 2px 20px rgba(0,0,0,0.05);
        border-radius: 10px;
        overflow: hidden;
    }

    .resort-info-table thead tr {
        background: var(--resort-primary);
    }

    .resort-info-table thead th {
        color: #ffffff;
        font-weight: 600;
        text-transform: uppercase;
        font-size: 13px;
        letter-spacing: 0.5px;
        padding: 16px 18px;
        border: none;
        text-align: left;
    }

    .resort-info-table tbody td {
        padding: 16px 18px;
        border-bottom: 1px solid var(--resort-border);
        color: var(--resort-text);
        font-size: 15px;
        vertical-align: top;
    }

    .resort-info-table tbody tr:last-child td {
        border-bottom: none;
    }

    .resort-info-table tbody tr:nth-child(even) {
        background: var(--resort-bg-soft);
    }

    .resort-info-table tbody tr:hover {
        background: #eef5f3;
        transition: background 0.2s ease;
    }

    /* ---- Pricing Cards (Cost section) ---- */
    #resort-cost.section-info {
        background: var(--resort-bg-soft) !important;
    }

    #resort-cost .pricing-card {
        background: #ffffff !important;
        border: 1px solid var(--resort-border) !important;
        border-top: 4px solid var(--resort-primary) !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 25px rgba(0,0,0,0.08) !important;
        height: 100%;
        padding: 30px !important;
        transition: transform 0.25s ease, box-shadow 0.25s ease;
    }

    #resort-cost .pricing-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
    }

    #resort-cost .pricing-card h4 {
        color: var(--resort-primary-dark) !important;
        font-weight: 700;
        margin-bottom: 15px;
        padding-bottom: 12px;
        border-bottom: 2px solid var(--resort-bg-soft) !important;
    }

    #resort-cost .pricing-card p {
        color: var(--resort-text);
        margin-bottom: 10px;
        line-height: 1.6;
    }

    #resort-cost .pricing-card ul.list-circle {
        padding-left: 0;
        list-style: none;
        margin-bottom: 15px;
    }

    #resort-cost .pricing-card ul.list-circle li {
        position: relative;
        padding-left: 22px;
        margin-bottom: 10px;
        color: var(--resort-text);
    }

    #resort-cost .pricing-card ul.list-circle li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 8px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--resort-primary);
    }

    /* ---- Centered bullet lists (Why Choose / Catering) ---- */
    .alignc-list {
        list-style: none;
        padding: 0;
        display: inline-block;
        text-align: left;
    }

    .alignc-list li {
        position: relative;
        padding-left: 28px;
        margin-bottom: 12px;
        color: var(--resort-text);
        font-size: 15px;
    }

    .alignc-list li::before {
        content: "✔";
        position: absolute;
        left: 0;
        color: var(--resort-primary);
        font-weight: 700;
    }

    /* ---- Location section ---- */
    #resort-location .list-circle li {
        margin-bottom: 10px;
        color: var(--resort-text);
    }

    /* ---- Contact / CTA section ---- */
    #resort-contact {
        background: var(--resort-bg-soft);
    }

    #resort-contact a.read-more {
        display: inline-block;
        margin-top: 20px;
        background: var(--resort-primary);
        color: #fff !important;
        padding: 14px 36px;
        border-radius: 50px;
        font-weight: 600;
        text-decoration: none;
        transition: background 0.2s ease;
    }

    #resort-contact a.read-more:hover {
        background: var(--resort-primary-dark);
    }

    /* ---- Mobile responsiveness ---- */
    @media (max-width: 767px) {
        .resort-info-table thead { display: none; }
        .resort-info-table, .resort-info-table tbody, .resort-info-table tr, .resort-info-table td {
            display: block;
            width: 100%;
        }
        .resort-info-table tr {
            margin-bottom: 15px;
            border: 1px solid var(--resort-border);
            border-radius: 10px;
            overflow: hidden;
        }
        .resort-info-table td {
            border-bottom: 1px solid var(--resort-border);
            padding: 12px 15px;
        }
        .resort-info-table td::before {
            content: attr(data-label);
            display: block;
            font-weight: 700;
            color: var(--resort-primary);
            font-size: 12px;
            text-transform: uppercase;
            margin-bottom: 4px;
        }
    }