/* locations grid — extracted from former tour-map plugin css */
.location-article .row-bg-wrap,.tour-article .row-bg-wrap{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}
.location-article .row-bg-layer,.tour-article .row-bg-layer{position:absolute;top:0;left:0;width:100%;height:100%}
.location-article .inner-wrap.row-bg-layer.using-image,.tour-article .inner-wrap.row-bg-layer.using-image{z-index:1}
.location-article .row-bg.viewport-desktop.using-image,.tour-article .row-bg.viewport-desktop.using-image{width:100%;height:100%;background-size:cover}
.location-article .row-bg-overlay.row-bg-layer,.tour-article .row-bg-overlay.row-bg-layer{z-index:2}
.location-featured-image{position:relative;z-index:3;max-width:1100px;margin:0 auto}
.location-featured-image img{display:block;width:100%;position:relative;z-index:3}
.location-article,.tour-article{position:relative}
.locations-grid{display:grid;grid-template-columns:repeat(var(--columns,3),1fr);gap:30px;margin:30px 0}
.locations-columns-1{--columns:1}
.locations-columns-2{--columns:2}
.locations-columns-3{--columns:3}
.locations-columns-4{--columns:4}
.location-item{position:relative;height:625px;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgb(0 0 0 / .2);transition:transform 0.3s ease;cursor:pointer;background-color:#1a1a1a}
.location-item:hover{transform:translateY(-5px)}
.location-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.location-image img{width:100%;height:100%;object-fit:cover;background-position:center center}
.locations-grid-card-content{position:absolute;bottom:0;left:0;width:100%;padding:30px 25px;z-index:3;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;height:70%}
.location-item::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:70%;background:linear-gradient(to top,rgb(0 0 0 / .8) 0%,transparent 100%);z-index:2;transition:background 0.3s ease}
.location-item:hover::after{background:linear-gradient(to top,#FFBF00 0%,rgb(255 191 0 / .5) 30%,transparent 100%)}
.location-title{margin:0 0 16px;font-size:24px;font-weight:700;line-height:1.3;color:#fff;text-shadow:1px 1px 3px rgb(0 0 0 / .5)}
.location-meta{display:flex;flex-wrap:wrap;gap:2px 16px;margin-bottom:20px;font-size:14px}
.location-meta span{display:flex;align-items:center;color:#fff;text-shadow:1px 1px 2px rgb(0 0 0 / .5)}
.location-meta i{margin-right:6px;font-size:16px}
.location-difficulty-easy{color:#4caf50!important}
.location-difficulty-moderate{color:#ff9800!important}
.location-difficulty-challenging,.location-difficulty-difficult{color:#f44336!important}
.location-price{font-weight:600}
.location-more-link{display:inline-block;background-color:#FFBF00;color:#333333!important;padding:10px 20px;border-radius:50px;text-decoration:none;font-weight:400;transition:background-color 0.3s ease;text-align:center;margin-top:20px}
.location-more-link:hover{background-color:#14521a;color:#ffffff!important;text-decoration:none}
.location-item-link{display:block;text-decoration:none;color:inherit}
.location-activity-badges{position:absolute;top:15px;left:15px;z-index:5;display:flex;flex-wrap:wrap;gap:8px}
.locations-filter{margin-bottom:30px;background-color:#2e3339;border-radius:8px;padding:24px;box-shadow:0 4px 12px rgb(0 0 0 / .15);color:#fff}
.locations-filter .filter-form{display:flex;flex-direction:column;gap:20px}
.locations-filter .main-filters{display:flex;justify-content:space-between;align-items:center;gap:15px}
.locations-filter .filter-search{flex:1;display:flex;gap:10px}
.locations-filter .filter-search input{flex:1;padding:10px 15px;border-radius:4px;border:1px solid #444;background-color:#1a1a1a;color:#fff;font-size:16px}
.locations-filter .filter-button{padding:10px 20px;background-color:#FFBF00;color:#333;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color 0.3s ease}
.locations-filter .filter-button:hover{background-color:#e6ac00}
.locations-filter .advanced-toggle .toggle-button{display:flex;align-items:center;gap:8px;padding:10px 15px;background-color:#1a1a1a;color:#fff;border:1px solid #444;border-radius:4px;cursor:pointer;transition:background-color 0.3s ease}
.locations-filter .advanced-toggle .toggle-button:hover{background-color:#333}
.locations-filter .toggle-icon{font-size:18px;line-height:1}
.locations-filter .advanced-filters{display:none;flex-wrap:wrap;gap:20px;padding-top:20px;border-top:1px solid #444}
.locations-filter .advanced-filters.active{display:flex}
.locations-filter .filter-group{flex:1;min-width:200px}
.locations-filter .filter-group label{display:block;margin-bottom:8px;font-weight:600}
.locations-filter .filter-group select{width:100%;padding:10px;border-radius:4px;border:1px solid #444;background-color:#1a1a1a;color:#fff}
.locations-filter .filter-actions{display:flex;gap:15px;margin-top:10px;width:100%}
.locations-filter .apply-filters-button{padding:10px 20px;background-color:#FFBF00;color:#333;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color 0.3s ease}
.locations-filter .apply-filters-button:hover{background-color:#e6ac00}
.locations-filter .reset-filters-link{display:inline-flex;align-items:center;padding:10px 20px;background-color:#fff0;color:#fff;border:1px solid #444;border-radius:4px;text-decoration:none;transition:background-color 0.3s ease}
.locations-filter .reset-filters-link:hover{background-color:#333}
.locations-empty{padding:30px;text-align:center;background-color:#1a1a1a;border-radius:8px;color:#fff}
.locations-grid{grid-template-columns:repeat(2,1fr);gap:25px}
.locations-filter .main-filters{flex-wrap:wrap}
.locations-filter .filter-search{flex-basis:100%;margin-bottom:10px}
.locations-filter .advanced-toggle{margin-left:auto}
.locations-grid{grid-template-columns:1fr;gap:20px}
.locations-filter .main-filters{flex-direction:column;align-items:stretch}
.locations-filter .advanced-toggle{width:100%;margin-top:10px}
.locations-filter .advanced-toggle .toggle-button{width:100%;justify-content:center}
.locations-filter .advanced-filters{flex-direction:column}
.locations-filter .filter-actions{flex-direction:column}
.locations-filter .reset-filters-link{text-align:center}
.location-item{display:flex;gap:20px;background-color:#232323;border-radius:8px;overflow:hidden;box-shadow:0 3px 10px rgb(0 0 0 / .3)}
.location-image{flex:0 0 40%;position:relative;overflow:hidden}
.location-image img{width:100%;height:100%;object-fit:cover;display:block}
.location-details{flex:1;padding:15px;display:flex;flex-direction:column}
.location-title{color:#FFBF00;margin:0 0 10px 0;font-size:1.4em}
.location-tagline{font-style:italic;margin-bottom:10px;color:#ccc}
.location-address{margin-bottom:10px;font-size:.9em}
.location-excerpt{margin-bottom:15px;flex:1;font-size:.95em;line-height:1.5}
.location-link{align-self:flex-start;padding:8px 15px;background-color:#FFBF00;color:#1a1a1a;text-decoration:none;border-radius:4px;font-weight:700;transition:background-color 0.3s ease}
.location-link:hover{background-color:#e0a800;color:#000}
.location-item{flex-direction:column}
.location-image{flex:0 0 200px}