/* =========================================================
   GME ACCOMMODATION CARDS
   ========================================================= */


/* =========================================================
   CARD GRID
   ========================================================= */

.accommodation-cards {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 24px;

    width: 100%;

}


/* =========================================================
   MAIN CARD
   ========================================================= */
.accommodation-card {

    position: relative;

    display: flex;

    flex-direction: column;

    width: 100%;

    min-height: 0;

    overflow: hidden;

    box-sizing: border-box;

    background-color: #FAF6EF;

    border: 1px solid #DED6CBCC;

    border-radius: 16px;

    box-shadow:
        0 4px 18px rgba(30, 48, 28, 0.08);

    color: #1E301C;

}



/* =========================================================
   TEXTURE OVERLAY
   ========================================================= */

.accommodation-card {
    background-color: #FAF6EF;
    background-image: url("http://localhost/GME%20website/wp-content/uploads/2026/08/painted-relief-texture-scaled.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* =========================================================
   IMAGE CONTAINER

   IMPORTANT:
   - Full width
   - No gap
   - No padding
   - Top corners only
   ========================================================= */


    position: relative;

    width: 100%;

    height: 360px;.accommodation-card__image-wrap {

    position: relative;

    width: 100%;

    aspect-ratio: 564 / 360;

    height: auto;

    flex-shrink: 0;

    margin: 0;

    padding: 0;

    overflow: hidden;

    border-radius: 16px 16px 0 0;

    z-index: 1;

}


/* =========================================================
   IMAGE
   ========================================================= */

.accommodation-card__image {

    display: block;

    width: 100%;

    height: 100%;

    margin: 0;

    padding: 0;

    border: 0;

    border-radius:
        16px 16px 0 0;

    object-fit: cover;

    object-position: center center;

}


/* =========================================================
   BADGE
   ========================================================= */

.accommodation-card__badge {

    position: absolute;

    top: 16px;

    left: 16px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: auto;

    padding:
        8px 16px;

    box-sizing: border-box;

    background-color: #FAF6EF;

    border-radius: 999px;

    color: #1E301C;

    font-family:
        "Poppins",
        sans-serif;

    font-size: 12px;

    font-weight: 600;

    line-height: 1.2;

    white-space: nowrap;

    z-index: 2;

}


/* =========================================================
   CONTENT CONTAINER
   ========================================================= */

.accommodation-card__content {

    position: relative;

    z-index: 1;

    display: flex;

    flex-direction: column;

    flex: 1;

    box-sizing: border-box;

    padding:
        26px 30px 28px;

}


/* =========================================================
   HEADING
   ========================================================= */

.accommodation-card__title {

    margin: 0;

    padding: 0;

    color: #1E301C;

    font-family:
        "Fraunces",
        serif;

    font-size: 28px;

    font-weight: 500;

    line-height: 1.2;

}


/* =========================================================
   CARD SUBTITLE
   ========================================================= */

.accommodation-card__subtitle {

    margin-top: 7px;

    color: #1E301CA1;

    font-family: "traditional-and-exce" !important;

    font-size: 14px;

    font-weight: 500;

    line-height: 1.3;

    text-transform: uppercase;

    letter-spacing: 1.5px;

}


/* =========================================================
   FEATURES CONTAINER
   ========================================================= */

.accommodation-card__features {

    display: flex;

    flex-direction: column;

    gap: 8px;

    margin-top: 34px;

}


/* =========================================================
   FEATURE ROW
   ========================================================= */

.accommodation-card__feature {

    display: flex;

    align-items: center;

    min-height: 32px;

    gap: 10px;

    color: #1E301C;

    font-family:
        "Poppins",
        sans-serif;

    font-size: 14px;

    font-weight: 400;

    line-height: 1.4;

}


/* =========================================================
   FEATURE ICON CONTAINER
   ========================================================= */

.accommodation-card__feature-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 32px;

    height: 32px;

    min-width: 32px;

    min-height: 32px;

    flex:
        0 0 32px;

    overflow: hidden;

}


/* =========================================================
   FEATURE ICON
   ========================================================= */

.accommodation-card__feature-icon img {

    display: block;

    width: 100%;

    height: 100%;

    margin: 0;

    padding: 0;

    object-fit: contain;

    object-position: center center;

}


/* =========================================================
   FEATURE TEXT
   ========================================================= */

.accommodation-card__feature-text {

    display: block;

    margin: 0;

    padding: 0;

    color: #1E301C;

}


/* =========================================================
   BOTTOM ROW
   ========================================================= */

.accommodation-card__bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;

    margin-top: auto;
    padding-top: 24px;
}


/* =========================================================
   PRICE
   ========================================================= */

.accommodation-card__price {

    display: flex;

    align-items: baseline;

    gap: 7px;

    white-space: nowrap;

}


/* =========================================================
   PRICE VALUE
   ========================================================= */

.accommodation-card__price-value {

    color: #1E301C;

    font-family: "traditional-and-exce" !important;

    font-size: 28px;

    font-weight: 500;

    line-height: 1;

}


/* =========================================================
   PRICE LABEL
   ========================================================= */

.accommodation-card__price-label {

    color: #1E301CA1;

    font-family:
        "Poppins",
        sans-serif;

    font-size: 14px;

    font-weight: 400;

    line-height: 1;

}


/* =========================================================
   VIEW ROOM LINK
   ========================================================= */

/* =========================================================
   VIEW ROOM BUTTON
   ========================================================= */

.accommodation-card__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    width: 100%;
    box-sizing: border-box;

    margin: 0;
    padding: 13px 16px;

    background: #1E301C;
    border: 1px solid #1E301C;
    border-radius: 8px;

    color: #FAF6EF;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;

    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* Subtle hover animation */

.accommodation-card__link:hover {
    color: #FAF6EF;
    background: #263D22;

    transform: translateY(-2px);

    box-shadow:
        0 4px 12px rgba(30, 48, 28, 0.14);
}


/* Prevent the button from changing colour
   because of general link styles */

.accommodation-card__link:focus,
.accommodation-card__link:active {
    color: #FAF6EF;
}


/* =========================================================
   ARROW
   ========================================================= */

.accommodation-card__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    flex: 0 0 18px;
}

.accommodation-card__arrow img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.accommodation-cards-empty {

    width: 100%;

    padding:
        40px 20px;

    box-sizing: border-box;

    color: #1E301C;

    font-family:
        "Poppins",
        sans-serif;

    font-size: 14px;

    text-align: center;

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .accommodation-cards {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px;

    }


    .accommodation-card {

        min-height: 650px;

    }


    .accommodation-card__image-wrap {

        height: 320px;

    }


    .accommodation-card__content {

        padding:
            24px 26px 26px;

    }


    .accommodation-card__title {

        font-size: 26px;

    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .accommodation-cards {

        grid-template-columns:
            1fr;

        gap: 20px;

    }


    .accommodation-card {

        min-height: 0;

    }




    .accommodation-card__content {

        padding:
            24px 24px 26px;

    }


    .accommodation-card__title {

        font-size: 25px;

    }


    .accommodation-card__features {

        margin-top: 28px;

    }


    .accommodation-card__bottom {

        margin-top: 45px;

    }

}


/* =========================================================
   CARD CONTENT — FORCE TOP ALIGNMENT
   ========================================================= */

.accommodation-card__content {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    justify-content: flex-start !important;
    align-items: stretch !important;

    flex: 0 1 auto !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 26px 30px 30px !important;

    box-sizing: border-box !important;
}


.accommodation-card__title {
    margin: 0 !important;
    padding: 0 !important;
}


.accommodation-card__subtitle {
    margin-top: 8px !important;
}


.accommodation-card__features {
    margin-top: 32px !important;
}


.accommodation-card__bottom {
    margin-top: 40px !important;
}
    
/* =========================================================
   ELEMENTOR GRID — MAKE SHORTCODE CARDS FILL THEIR CELLS
   ========================================================= */

.elementor-widget-shortcode {
    width: 100% !important;
    min-width: 0 !important;
}

.elementor-widget-shortcode .elementor-widget-container {
    width: 100% !important;
    min-width: 0 !important;
}

.elementor-widget-shortcode .elementor-shortcode {
    width: 100% !important;
    min-width: 0 !important;
}

.accommodation-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

/* =========================================================
   ELEMENTOR ACCOMMODATION GRID
   Force each grid item to fill its column
   ========================================================= */

.accommodation-grid {
    width: 100% !important;
}

.accommodation-grid > .elementor-element {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    justify-self: stretch !important;
    align-self: stretch !important;

    box-sizing: border-box !important;
}


/* Shortcode widget */

.accommodation-grid .elementor-widget-shortcode {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    justify-self: stretch !important;
}


/* Elementor's shortcode content wrapper */

.accommodation-grid .elementor-widget-shortcode > .elementor-widget-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}


/* Actual shortcode output */

.accommodation-grid .elementor-shortcode {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}


/* Actual accommodation card */

.accommodation-grid .accommodation-card {
    display: flex !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    box-sizing: border-box !important;
}
