/*
Theme Name: Fly2Thai Child
Template:   hello-elementor
*/

/* Fly2Thai Custom Styles */
.h-grid {
    display: grid;
    grid-template-columns: minmax(260px, 32%) 1fr;
    gap: 24px
}

.h-gallery {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, 1fr)
}

.h-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media(max-width:992px) {
    .h-grid {
        grid-template-columns: 1fr
    }

    .h-gallery {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:600px) {
    .h-gallery {
        grid-template-columns: 1fr
    }
}

.a-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: 2fr 1fr
}

.a-grid .big {
    grid-row: 1/span 2
}

.caption {
    background: #eceae6;
    padding: 16px 18px
}

/* Button Styles */
.button {
    display: inline-block;
    padding: 12px 24px;
    background-color: #007cba;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.button:hover {
    background-color: #005a87;
    color: white;
    text-decoration: none;
}

/* Archive Grid Styles */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin: 24px 0;
}

.archive-item {
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.archive-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.archive-content {
    padding: 16px;
}

.archive-content h3 {
    margin: 0 0 8px 0;
    font-size: 1.2em;
}

.archive-content p {
    margin: 0 0 12px 0;
    color: #666;
    font-size: 0.9em;
}

/* Hotel Amenities Icons */
.hotel-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.amenity-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    font-size: 0.9em;
    color: #495057;
    transition: all 0.3s ease;
}

.amenity-item:hover {
    background: #e9ecef;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.amenity-icon {
    font-size: 1.1em;
    line-height: 1;
}

/* ACF Select Field Styling */
.acf-field-select .acf-input select {
    font-family: inherit;
}

.acf-field-select .acf-input select option {
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1.4;
}

/* Responsive Amenities */
@media (max-width: 768px) {
    .hotel-amenities {
        gap: 6px;
    }

    .amenity-item {
        padding: 4px 8px;
        font-size: 0.8em;
    }
}

/* Hotel Image Layout */
.h-gallery .img-1 {
    grid-column: 1;
    grid-row: 1;
}

/* Culinary image layout can reuse same grid classes */
.single-culinary .h-gallery .img-1 {
    grid-column: 1;
    grid-row: 1;
}

.single-culinary .h-gallery .img-2 {
    grid-column: 2;
    grid-row: 1;
}

.single-culinary .h-gallery .img-3 {
    grid-column: 3;
    grid-row: 1;
}

.single-culinary .h-gallery .img-4 {
    grid-column: 1 / 3;
    grid-row: 2;
}

.single-culinary .h-gallery .img-5 {
    grid-column: 3;
    grid-row: 2;
}

.h-gallery .img-2 {
    grid-column: 2;
    grid-row: 1;
}

.h-gallery .img-3 {
    grid-column: 1;
    grid-row: 2;
}

.h-gallery .img-4 {
    grid-column: 2 / 4;
    grid-row: 2;
}

/* Material Icons for Amenities */
.amenity-item {
    position: relative;
    padding-right: 30px;
}

.amenity-item .amenity-mi {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 20px;
    line-height: 1;
    margin-left: 6px;
    color: #007cba;
}

/* Specific Material Icons for each amenity */
.amenity-item.wifi::before {
    content: '\e63e';
}

.amenity-item.safe::before {
    content: '\e897';
}

.amenity-item.balcony::before {
    content: '\e8f5';
}

.amenity-item.jacuzzi::before {
    content: '\e043';
}

.amenity-item.pool::before {
    content: '\e5c5';
}

.amenity-item.spa::before {
    content: '\e5c5';
}

.amenity-item.gym::before {
    content: '\e5c5';
}

.amenity-item.restaurant::before {
    content: '\e5c5';
}

.amenity-item.bar::before {
    content: '\e5c5';
}

.amenity-item.room_service::before {
    content: '\e5c5';
}

.amenity-item.concierge::before {
    content: '\e5c5';
}

.amenity-item.valet_parking::before {
    content: '\e5c5';
}

.amenity-item.free_parking::before {
    content: '\e5c5';
}

.amenity-item.airport_shuttle::before {
    content: '\e5c5';
}

.amenity-item.business_center::before {
    content: '\e5c5';
}

.amenity-item.meeting_rooms::before {
    content: '\e5c5';
}

.amenity-item.laundry::before {
    content: '\e5c5';
}

.amenity-item.dry_cleaning::before {
    content: '\e5c5';
}

.amenity-item.ironing::before {
    content: '\e5c5';
}

.amenity-item.minibar::before {
    content: '\e5c5';
}

.amenity-item.refrigerator::before {
    content: '\e5c5';
}

.amenity-item.microwave::before {
    content: '\e5c5';
}

.amenity-item.coffee_maker::before {
    content: '\e5c5';
}

.amenity-item.kettle::before {
    content: '\e5c5';
}

.amenity-item.tv::before {
    content: '\e5c5';
}

.amenity-item.cable_tv::before {
    content: '\e5c5';
}

.amenity-item.satellite_tv::before {
    content: '\e5c5';
}

.amenity-item.dvd_player::before {
    content: '\e5c5';
}

.amenity-item.sound_system::before {
    content: '\e5c5';
}

.amenity-item.air_conditioning::before {
    content: '\e5c5';
}

.amenity-item.heating::before {
    content: '\e5c5';
}

.amenity-item.fan::before {
    content: '\e5c5';
}

.amenity-item.desk::before {
    content: '\e5c5';
}

.amenity-item.chair::before {
    content: '\e5c5';
}

.amenity-item.sofa::before {
    content: '\e5c5';
}

.amenity-item.armchair::before {
    content: '\e5c5';
}

.amenity-item.wardrobe::before {
    content: '\e5c5';
}

.amenity-item.closet::before {
    content: '\e5c5';
}

.amenity-item.dresser::before {
    content: '\e5c5';
}

.amenity-item.nightstand::before {
    content: '\e5c5';
}

.amenity-item.lamp::before {
    content: '\e5c5';
}

.amenity-item.reading_light::before {
    content: '\e5c5';
}

.amenity-item.blackout_curtains::before {
    content: '\e5c5';
}

.amenity-item.soundproofing::before {
    content: '\e5c5';
}

.amenity-item.elevator::before {
    content: '\e5c5';
}

.amenity-item.stairs::before {
    content: '\e5c5';
}

.amenity-item.wheelchair_accessible::before {
    content: '\e5c5';
}

.amenity-item.pet_friendly::before {
    content: '\e5c5';
}

.amenity-item.smoking_allowed::before {
    content: '\e5c5';
}

.amenity-item.non_smoking::before {
    content: '\e5c5';
}

.amenity-item.family_rooms::before {
    content: '\e5c5';
}

.amenity-item.connecting_rooms::before {
    content: '\e5c5';
}

.amenity-item.suite::before {
    content: '\e5c5';
}

.amenity-item.penthouse::before {
    content: '\e5c5';
}

.amenity-item.ocean_view::before {
    content: '\e5c5';
}

.amenity-item.mountain_view::before {
    content: '\e5c5';
}

.amenity-item.city_view::before {
    content: '\e5c5';
}

.amenity-item.garden_view::before {
    content: '\e5c5';
}

.amenity-item.pool_view::before {
    content: '\e5c5';
}

.amenity-item.beach_access::before {
    content: '\e5c5';
}

.amenity-item.beachfront::before {
    content: '\e5c5';
}

.amenity-item.waterfront::before {
    content: '\e5c5';
}

.amenity-item.downtown::before {
    content: '\e5c5';
}

.amenity-item.airport_nearby::before {
    content: '\e5c5';
}

.amenity-item.metro_nearby::before {
    content: '\e5c5';
}

.amenity-item.bus_stop_nearby::before {
    content: '\e5c5';
}

.amenity-item.shopping_nearby::before {
    content: '\e5c5';
}

.amenity-item.restaurants_nearby::before {
    content: '\e5c5';
}

.amenity-item.attractions_nearby::before {
    content: '\e5c5';
}

.amenity-item.hospital_nearby::before {
    content: '\e5c5';
}

.amenity-item.pharmacy_nearby::before {
    content: '\e5c5';
}

.amenity-item.bank_nearby::before {
    content: '\e5c5';
}

.amenity-item.atm_nearby::before {
    content: '\e5c5';
}

.amenity-item.tourist_info::before {
    content: '\e5c5';
}

.amenity-item.luggage_storage::before {
    content: '\e5c5';
}

.amenity-item.luggage_room::before {
    content: '\e5c5';
}

.amenity-item.check_in_24h::before {
    content: '\e5c5';
}

.amenity-item.check_out_24h::before {
    content: '\e5c5';
}

.amenity-item.express_check_in::before {
    content: '\e5c5';
}

.amenity-item.express_check_out::before {
    content: '\e5c5';
}

.amenity-item.mobile_check_in::before {
    content: '\e5c5';
}

.amenity-item.key_card::before {
    content: '\e5c5';
}

.amenity-item.electronic_locks::before {
    content: '\e5c5';
}

.amenity-item.security::before {
    content: '\e5c5';
}

.amenity-item.cctv::before {
    content: '\e5c5';
}

.amenity-item.security_guard::before {
    content: '\e5c5';
}

.amenity-item.fire_safety::before {
    content: '\e5c5';
}

.amenity-item.smoke_detector::before {
    content: '\e5c5';
}

.amenity-item.fire_extinguisher::before {
    content: '\e5c5';
}

.amenity-item.emergency_exit::before {
    content: '\e5c5';
}

.amenity-item.first_aid::before {
    content: '\e5c5';
}

.amenity-item.doctor_on_call::before {
    content: '\e5c5';
}

.amenity-item.nurse_on_call::before {
    content: '\e5c5';
}

.amenity-item.pharmacy::before {
    content: '\e5c5';
}

.amenity-item.medical_center::before {
    content: '\e5c5';
}

.amenity-item.dental_clinic::before {
    content: '\e5c5';
}

.amenity-item.beauty_salon::before {
    content: '\e5c5';
}

.amenity-item.barber_shop::before {
    content: '\e5c5';
}

.amenity-item.massage::before {
    content: '\e5c5';
}

.amenity-item.sauna::before {
    content: '\e5c5';
}

.amenity-item.steam_room::before {
    content: '\e5c5';
}

.amenity-item.hot_tub::before {
    content: '\e5c5';
}

.amenity-item.cold_plunge::before {
    content: '\e5c5';
}

.amenity-item.infinity_pool::before {
    content: '\e5c5';
}

.amenity-item.rooftop_pool::before {
    content: '\e5c5';
}

.amenity-item.indoor_pool::before {
    content: '\e5c5';
}

.amenity-item.outdoor_pool::before {
    content: '\e5c5';
}

.amenity-item.heated_pool::before {
    content: '\e5c5';
}

.amenity-item.salt_water_pool::before {
    content: '\e5c5';
}

.amenity-item.fresh_water_pool::before {
    content: '\e5c5';
}

.amenity-item.kids_pool::before {
    content: '\e5c5';
}

.amenity-item.adult_pool::before {
    content: '\e5c5';
}

.amenity-item.pool_bar::before {
    content: '\e5c5';
}

.amenity-item.pool_side_service::before {
    content: '\e5c5';
}

.amenity-item.pool_towels::before {
    content: '\e5c5';
}

.amenity-item.pool_chairs::before {
    content: '\e5c5';
}

.amenity-item.pool_umbrellas::before {
    content: '\e5c5';
}

.amenity-item.pool_toys::before {
    content: '\e5c5';
}

.amenity-item.pool_games::before {
    content: '\e5c5';
}

.amenity-item.pool_events::before {
    content: '\e5c5';
}

.amenity-item.pool_music::before {
    content: '\e5c5';
}

.amenity-item.pool_lighting::before {
    content: '\e5c5';
}

.amenity-item.pool_heating::before {
    content: '\e5c5';
}

.amenity-item.pool_cleaning::before {
    content: '\e5c5';
}

.amenity-item.pool_maintenance::before {
    content: '\e5c5';
}

.amenity-item.pool_safety::before {
    content: '\e5c5';
}

.amenity-item.lifeguard::before {
    content: '\e5c5';
}

.amenity-item.swimming_lessons::before {
    content: '\e5c5';
}

.amenity-item.water_aerobics::before {
    content: '\e5c5';
}

.amenity-item.water_polo::before {
    content: '\e5c5';
}

.amenity-item.diving_board::before {
    content: '\e5c5';
}

.amenity-item.water_slide::before {
    content: '\e5c5';
}

.amenity-item.lazy_river::before {
    content: '\e5c5';
}

.amenity-item.water_fountain::before {
    content: '\e5c5';
}

.amenity-item.water_fall::before {
    content: '\e5c5';
}

.amenity-item.water_garden::before {
    content: '\e5c5';
}

.amenity-item.koi_pond::before {
    content: '\e5c5';
}

.amenity-item.fountain::before {
    content: '\e5c5';
}

.amenity-item.garden::before {
    content: '\e5c5';
}

.amenity-item.terrace::before {
    content: '\e5c5';
}

.amenity-item.patio::before {
    content: '\e5c5';
}

.amenity-item.courtyard::before {
    content: '\e5c5';
}

.amenity-item.rooftop::before {
    content: '\e5c5';
}

.amenity-item.rooftop_bar::before {
    content: '\e5c5';
}

.amenity-item.rooftop_restaurant::before {
    content: '\e5c5';
}

.amenity-item.rooftop_lounge::before {
    content: '\e5c5';
}

.amenity-item.sky_bar::before {
    content: '\e5c5';
}

.amenity-item.sky_lounge::before {
    content: '\e5c5';
}

.amenity-item.observation_deck::before {
    content: '\e5c5';
}

.amenity-item.viewing_platform::before {
    content: '\e5c5';
}

.amenity-item.sunset_deck::before {
    content: '\e5c5';
}

.amenity-item.sunrise_deck::before {
    content: '\e5c5';
}

.amenity-item.moonlight_deck::before {
    content: '\e5c5';
}

.amenity-item.starlight_deck::before {
    content: '\e5c5';
}

.amenity-item.city_lights_view::before {
    content: '\e5c5';
}

.amenity-item.ocean_sunset::before {
    content: '\e5c5';
}

.amenity-item.mountain_sunrise::before {
    content: '\e5c5';
}

.amenity-item.valley_view::before {
    content: '\e5c5';
}

.amenity-item.forest_view::before {
    content: '\e5c5';
}

.amenity-item.lake_view::before {
    content: '\e5c5';
}

.amenity-item.river_view::before {
    content: '\e5c5';
}

.amenity-item.bay_view::before {
    content: '\e5c5';
}

.amenity-item.harbor_view::before {
    content: '\e5c5';
}

.amenity-item.marina_view::before {
    content: '\e5c5';
}

.amenity-item.yacht_club::before {
    content: '\e5c5';
}

.amenity-item.sailing_club::before {
    content: '\e5c5';
}

.amenity-item.fishing_club::before {
    content: '\e5c5';
}

.amenity-item.diving_club::before {
    content: '\e5c5';
}

.amenity-item.snorkeling::before {
    content: '\e5c5';
}

.amenity-item.scuba_diving::before {
    content: '\e5c5';
}

.amenity-item.kayaking::before {
    content: '\e5c5';
}

.amenity-item.canoeing::before {
    content: '\e5c5';
}

.amenity-item.paddle_boarding::before {
    content: '\e5c5';
}

.amenity-item.surfing::before {
    content: '\e5c5';
}

.amenity-item.windsurfing::before {
    content: '\e5c5';
}

.amenity-item.kite_surfing::before {
    content: '\e5c5';
}

.amenity-item.sailing::before {
    content: '\e5c5';
}

.amenity-item.yachting::before {
    content: '\e5c5';
}

.amenity-item.boating::before {
    content: '\e5c5';
}

.amenity-item.fishing::before {
    content: '\e5c5';
}

.amenity-item.deep_sea_fishing::before {
    content: '\e5c5';
}

.amenity-item.fresh_water_fishing::before {
    content: '\e5c5';
}

.amenity-item.fly_fishing::before {
    content: '\e5c5';
}

.amenity-item.spear_fishing::before {
    content: '\e5c5';
}

.amenity-item.crab_fishing::before {
    content: '\e5c5';
}

.amenity-item.lobster_fishing::before {
    content: '\e5c5';
}

.amenity-item.shrimp_fishing::before {
    content: '\e5c5';
}

.amenity-item.squid_fishing::before {
    content: '\e5c5';
}

.amenity-item.octopus_fishing::before {
    content: '\e5c5';
}

.amenity-item.sea_urchin_fishing::before {
    content: '\e5c5';
}

.amenity-item.sea_cucumber_fishing::before {
    content: '\e5c5';
}

.amenity-item.sea_weed_farming::before {
    content: '\e5c5';
}

.amenity-item.pearl_farming::before {
    content: '\e5c5';
}

.amenity-item.coral_farming::before {
    content: '\e5c5';
}

.amenity-item.fish_farming::before {
    content: '\e5c5';
}

.amenity-item.shrimp_farming::before {
    content: '\e5c5';
}

.amenity-item.lobster_farming::before {
    content: '\e5c5';
}

.amenity-item.crab_farming::before {
    content: '\e5c5';
}

.amenity-item.mussel_farming::before {
    content: '\e5c5';
}

.amenity-item.oyster_farming::before {
    content: '\e5c5';
}

.amenity-item.clam_farming::before {
    content: '\e5c5';
}

.amenity-item.scallop_farming::before {
    content: '\e5c5';
}

.amenity-item.abalone_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_snail_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_horse_farming::before {
    content: '\e5c5';
}

.amenity-item.jellyfish_farming::before {
    content: '\e5c5';
}

.amenity-item.starfish_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_anemone_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_sponge_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_coral_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_grass_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_weed_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_moss_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_lichen_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_fungus_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_bacteria_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_virus_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_protozoa_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_algae_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_plankton_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_zooplankton_farming::before {
    content: '\e5c5';
}

.amenity-item.sea_phytoplankton_farming::before {
    content: '\e5c5';
}

/* Amenities icon cleanup - remove blue duplicate and inherit text color */
.amenity-item::before {
    content: none !important;
    display: none !important;
}

.amenity-item {
    padding-right: 12px;
}

.amenity-item .amenity-mi {
    color: inherit;
    margin-left: 6px;
}

/* Force-remove any legacy or extra icons inside amenity items */
.hotel-amenities .amenity-item::before,
.hotel-amenities .amenity-item:before,
.hotel-amenities .amenity-item::after,
.hotel-amenities .amenity-item:after {
    content: none !important;
    display: none !important;
}

/* Hide any <i> or <svg> icons injected by widgets */
.hotel-amenities .amenity-item i,
.hotel-amenities .amenity-item svg {
    display: none !important;
}

/* Keep our Material Symbol and match text color */
.hotel-amenities .amenity-item .amenity-mi {
    color: inherit !important;
}

/* Match amenity pill colors */
.hotel-amenities .amenity-item {
    color: #495057;
    border-color: #e9ecef;
}

/* If Elementor adds link styles inside */
.hotel-amenities .amenity-item a {
    color: inherit !important;
}

/* Archive Loop Styles (for destinations template) */
.tvl-archive-loop {
    margin: 24px 0;
    width: 100%;
    overflow-x: hidden;
}

.tvl-loop-section-title,
.tvl-archive-loop .tvl-loop-section-title,
h2.tvl-loop-section-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 24px;
    text-align: right;
    color: #fff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.tvl-loop-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px;
    width: 100%;
    max-width: 100%;
}

.tvl-loop-item {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease;
    aspect-ratio: 4/3;
}

.tvl-loop-item:hover {
    transform: translateY(-4px);
}

.tvl-loop-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.tvl-loop-thumbnail {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.tvl-loop-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.tvl-loop-item:hover .tvl-loop-thumbnail img {
    transform: scale(1.1);
}

.tvl-loop-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 1;
}

.tvl-loop-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    z-index: 2;
    color: #fff;
}

.tvl-loop-title {
    margin: 0;
    font-size: 1.3em;
    line-height: 1.3;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.tvl-loop-excerpt {
    display: none;
}

/* Desktop: Keep Grid Layout */
@media (min-width: 769px) {
    .tvl-loop-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    .tvl-loop-grid.swiper {
        display: grid !important;
    }
    
    .tvl-loop-grid .swiper-wrapper {
        display: contents !important;
    }
    
    .tvl-loop-grid .swiper-slide {
        width: auto !important;
        height: auto !important;
    }
}

/* Mobile: Prevent horizontal scroll */
@media (max-width: 768px) {
    body {
        overflow-x: hidden;
        width: 100%;
        max-width: 100vw;
    }
    
    .tvl-archive-loop {
        overflow-x: hidden;
        width: 100%;
        max-width: 100vw;
        padding: 0 16px;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }
    
    .tvl-loop-grid.swiper {
        display: block !important;
        overflow: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
        padding-bottom: 20px;
        margin: 0;
        box-sizing: border-box;
    }
    
    .tvl-loop-grid.swiper .swiper-wrapper {
        width: 100%;
        max-width: 100%;
    }
    
    .tvl-loop-grid:not(.swiper) {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px;
        width: 100%;
        max-width: 100%;
    }
    
    .tvl-loop-grid .swiper-wrapper {
        display: flex;
        width: 100%;
    }
    
    .tvl-loop-grid .swiper-slide {
        width: auto !important;
        flex-shrink: 0;
        height: auto;
        box-sizing: border-box;
    }
    
    .tvl-loop-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
    }
    
    .tvl-loop-content {
        padding: 16px;
    }
    
    .tvl-loop-title {
        font-size: 1.1em;
    }
    
    .tvl-loop-excerpt {
        font-size: 0.85em;
    }
}

/* Tablet adjustments */
@media (min-width: 769px) and (max-width: 1024px) {
    .tvl-loop-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

/* Fix Elementor container width for archive loops (Desktop only) */
@media (min-width: 769px) {
    /* Fix containers marked by JavaScript */
    body .tvl-archive-container-fixed {
        --content-width: 100% !important;
        --container-max-width: 100vw !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Fix .e-con-boxed .e-con-inner that contains .tvl-archive-loop */
    /* Target all .e-con-inner that are ancestors of .tvl-archive-loop */
    body .elementor-widget-shortcode .e-con-boxed .e-con-inner,
    body .elementor-widget-shortcode .e-con-inner {
        --content-width: 100% !important;
        --container-max-width: 100vw !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Fix .e-con-boxed itself */
    body .elementor-widget-shortcode .e-con-boxed {
        --content-width: 100% !important;
        --container-max-width: 100vw !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Fix content width variable in .e-con - remove max-width limitation */
    body .tvl-archive-loop .e-con {
        --content-width: 100% !important;
        --container-max-width: 100vw !important;
    }
    
    /* Fix .e-con-inner to use full width */
    body .tvl-archive-loop .e-con > .e-con-inner {
        max-width: 100% !important;
        width: 100% !important;
        --content-width: 100% !important;
    }
    
    /* Fix all Elementor containers inside archive loops - very specific */
    body .tvl-archive-loop .e-con,
    body .tvl-archive-loop .elementor-container,
    body .tvl-archive-loop .elementor-row,
    body .tvl-archive-loop .elementor-section,
    body .tvl-archive-loop .elementor-column {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Fix the grid itself */
    body .tvl-archive-loop .tvl-loop-grid {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Fix any nested containers */
    body .tvl-archive-loop .e-con .e-con-inner,
    body .tvl-archive-loop .elementor-container .elementor-row,
    body .tvl-archive-loop .elementor-section .elementor-container {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Fix parent containers - target all containers that wrap .tvl-archive-loop */
    body .elementor-widget-shortcode .elementor-widget-container,
    body .elementor-widget-shortcode {
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Hide Swiper Pagination */
.tvl-archive-loop .swiper-pagination {
    display: none !important;
}

/* Swiper Navigation Buttons */
.tvl-swiper-navigation {
    display: none;
    justify-content: center;
    align-items: center;
    margin-top: 24px;
    padding: 0 16px;
    gap: 20px;
    position: relative;
}

@media (max-width: 768px) {
    .tvl-swiper-navigation {
        display: flex;
    }
}

.tvl-nav-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 0.9em;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: inherit;
}

.tvl-nav-btn:hover:not(:disabled) {
    opacity: 0.8;
}

.tvl-nav-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.tvl-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    font-size: 1.3em;
    line-height: 1;
    transition: all 0.3s ease;
    color: #fff;
}

.tvl-nav-btn:hover:not(:disabled) .tvl-nav-icon {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.1);
}

.tvl-nav-text {
    white-space: nowrap;
    color: #fff;
    font-weight: 500;
}

.tvl-nav-prev {
    flex-direction: row;
}

.tvl-nav-next {
    flex-direction: row-reverse;
}