.ch-accommodation-widget {
    --gold: #D4AF37;
    --slate: #0F1B2A;
    font-family: 'Inter', sans-serif;
}

.ch-accommodation-widget .card {
    background: #fff;
    padding: 35px;
    border-radius: 16px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
    margin-bottom: 0; /* Changed from 30px to 0 as padding is now on the section */
}

.ch-accommodation-widget .section-title {
    font-size: 1.6rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--gold);
    display: flex;
    align-items: center;
    gap: 12px; /* Controlled by slider */
}

.ch-accommodation-widget .hotel-grid {
    display: grid;
    /* grid-template-columns is controlled by Elementor */
    gap: 25px; /* Controlled by slider */
    margin-bottom: 0; /* Changed from 25px to 0 */
}

.ch-accommodation-widget .hotel-card {
    background: var(--slate);
    color: #fff;
    padding: 30px;
    border-radius: 14px;
    transition: transform 0.3s ease;
}

.ch-accommodation-widget .hotel-card:hover {
    /* transform is controlled by Elementor Switcher */
}

.ch-accommodation-widget .hotel-card h3 {
    color: var(--gold);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ch-accommodation-widget .hotel-card h3 i,
.ch-accommodation-widget .hotel-card h3 svg {
    font-size: 1em; /* Ensures icon inherits size from heading */
}

.ch-accommodation-widget .hotel-card .hotel-name {
    font-size: 1.3rem;
    margin-bottom: 15px;
}

.ch-accommodation-widget .hotel-card ul {
    list-style: none;
    padding-left: 0;
    line-height: 1.9;
    font-size: 0.95rem;
    margin: 0;
}

.ch-accommodation-widget .hotel-card ul li {
    display: flex;
    align-items: flex-start;
    gap: 10px; /* Controlled by slider */
    margin-bottom: 8px;
}

.ch-accommodation-widget .hotel-card ul li:last-child {
    margin-bottom: 0;
}

.ch-accommodation-widget .hotel-card ul li .feature-icon {
    color: var(--gold);
    flex-shrink: 0;
    /* Vertically align icon with first line of text */
    padding-top: 0.2em; 
}
.ch-accommodation-widget .hotel-card ul li .feature-icon i {
    vertical-align: top;
}
.ch-accommodation-widget .hotel-card ul li .feature-icon svg {
    vertical-align: top;
}

/* Helper class to hide the icon via Elementor control */
.ch-accommodation-widget.ch-feature-icon-visible-no .hotel-card ul li .feature-icon {
    display: none;
}
.ch-accommodation-widget.ch-feature-icon-visible-no .hotel-card ul li {
    gap: 0;
}