.concerto_camping_listing.is-view-list .concerto_view_list{display:block}.concerto_camping_listing.is-view-map .concerto_view_list,.concerto_camping_listing.is-view_list .concerto_view_map{display:none}.concerto_camping_listing.is-view-map .concerto_view_map{display:block}.concerto_camping_listing .concerto_listing_header{display:flex;justify-content:flex-end;margin-bottom:.75rem}.concerto_camping_listing .concerto_listing_header .view_switch{display:flex;gap:.5rem}.concerto_camping_listing .concerto_listing_header .btn-view{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;padding:.4rem .7rem}.concerto_camping_listing .concerto_listing_header .btn-view.is-active{border-color:#ed6e1e;color:#ed6e1e}.concerto_camping_listing .concerto_listing_layout{display:grid;gap:1rem;grid-template-columns:300px 1fr}@media(max-width:960px){.concerto_camping_listing .concerto_listing_layout{grid-template-columns:1fr}}.concerto_camping_listing .concerto_filters_sidebar{align-self:start;background:var(--wp--preset--color--base-2)!important;border-radius:15px;box-shadow:0 2px 16px rgba(0,0,0,.12);padding:1rem;position:sticky;top:80px}@media(max-width:960px){.concerto_camping_listing .concerto_filters_sidebar{position:static}}.concerto_camping_listing .concerto_camping_filters{display:grid;gap:.6rem}.concerto_camping_listing .concerto_camping_filters label{display:flex;flex-direction:column;font-size:.9rem}.concerto_camping_listing .concerto_camping_filters input,.concerto_camping_listing .concerto_camping_filters select{border:1px solid #d4d2e3;border-radius:8px;font-size:14px;font-style:italic;height:40px;padding:4px;width:100%}.concerto_camping_listing .concerto_camping_filters input:disabled,.concerto_camping_listing .concerto_camping_filters select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.concerto_camping_listing .concerto_camping_filters .price_filters{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.concerto_camping_listing .concerto_camping_filters .price_filters .price_filters_title{color:#333;font-size:1rem;font-weight:600;margin:0 0 .5rem}.concerto_camping_listing .concerto_camping_filters .price_filters .price-slider-container{margin-top:1rem}.concerto_camping_listing .concerto_camping_filters .price_filters .price-slider-container .price-slider{margin:1rem 0}.concerto_camping_listing .concerto_camping_filters .price_filters .price-slider-container .price-inputs{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1rem}.concerto_camping_listing .concerto_camping_filters .price_filters .price-slider-container .price-inputs .price-input-group{display:flex;flex-direction:column}.concerto_camping_listing .concerto_camping_filters .price_filters .price-slider-container .price-inputs .price-input-group label{color:#666;font-size:.9rem;margin-bottom:.25rem}.concerto_camping_listing .concerto_camping_filters .price_filters .price-slider-container .price-inputs .price-input-group input{border:1px solid #d4d2e3;border-radius:8px;font-size:14px;height:40px;padding:0 .5rem;text-align:center}.concerto_camping_listing .concerto_camping_filters .rooms_filters{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.concerto_camping_listing .concerto_camping_filters .rooms_filters .rooms_filters_title{color:#333;font-size:1rem;font-weight:600;margin:0 0 .5rem}.concerto_camping_listing .concerto_camping_filters .btn-apply{background:#ed6e1e;border:none;border-radius:8px;color:#fff;cursor:pointer;height:40px;margin-top:1rem}.concerto_camping_listing .concerto_camping_filters .filters_title{font-size:1.05rem;font-weight:700;margin-bottom:0;margin-top:1rem}.concerto_camping_listing .concerto_camping_map{border-radius:12px;height:480px;overflow:hidden;width:100%}.concerto_camping_listing .concerto_camping_card{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden}.concerto_camping_listing .concerto_camping_card img{aspect-ratio:16/9;display:block;-o-object-fit:cover;object-fit:cover;width:100%}.concerto_camping_listing .concerto_camping_card h2{font-size:1.05rem;margin:.5rem .75rem}.concerto_camping_listing .concerto_camping_card .meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem .75rem;padding:0 .75rem .75rem}.concerto_camping_listing .concerto_camping_card .price{font-weight:600;margin-left:auto}.concerto_camping_listing .concerto_camping_pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1rem}.concerto_camping_listing .concerto_camping_filters .concerto_price_slider{margin-bottom:.5rem;margin-top:.25rem}.concerto_camping_listing .concerto_camping_filters .noUi-target{box-shadow:none}.concerto_camping_listing .concerto_camping_filters .noUi-connect{background:#ed6e1e}.concerto_camping_listing .concerto_camping_filters .noUi-handle{border:1px solid #ed6e1e}.concerto_camping_listing .concerto_camping_grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media(max-width:1100px){.concerto_camping_listing .concerto_camping_grid{grid-template-columns:1fr}}.concerto_camping_listing .concerto_camping_card,.concerto_camping_listing .sidebar-camping-card{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 2px 16px rgba(0,0,0,.12);overflow:hidden;transition:transform .25s ease}.concerto_camping_listing .concerto_camping_card:hover,.concerto_camping_listing .sidebar-camping-card:hover{transform:scale(1.02)}.concerto_camping_listing .concerto_camping_card .card_link,.concerto_camping_listing .sidebar-camping-card .card_link{align-items:stretch;color:inherit;display:grid;gap:1rem;grid-template-columns:280px 1fr;height:100%;padding:0;text-decoration:none}.concerto_camping_listing .concerto_camping_card .card_price,.concerto_camping_listing .sidebar-camping-card .card_price{gap:0}.concerto_camping_listing .concerto_camping_card .btn_card,.concerto_camping_listing .sidebar-camping-card .btn_card{align-items:center;display:flex;justify-content:space-between;margin-top:.5rem;transition:transform .25s ease}.concerto_camping_listing .concerto_camping_card .btn_card:hover img,.concerto_camping_listing .sidebar-camping-card .btn_card:hover img{transform:rotate(-90deg)}.concerto_camping_listing .concerto_camping_card .btn_card img,.concerto_camping_listing .sidebar-camping-card .btn_card img{height:40px;transition:transform .25s ease;width:40px!important}.concerto_camping_listing .concerto_camping_card .card_price,.concerto_camping_listing .sidebar-camping-card .card_price{font-size:1.5rem;line-height:1}.concerto_camping_listing .concerto_camping_card .card_price .title_price,.concerto_camping_listing .sidebar-camping-card .card_price .title_price{font-size:.8rem;font-weight:400}.concerto_camping_listing .concerto_camping_card .region_card,.concerto_camping_listing .sidebar-camping-card .region_card{align-items:center;display:flex}.concerto_camping_listing .concerto_camping_card .region_card img,.concerto_camping_listing .sidebar-camping-card .region_card img{height:100%;width:25px}.concerto_camping_listing .concerto_camping_card .region_card span,.concerto_camping_listing .sidebar-camping-card .region_card span{font-size:.8rem;font-weight:700}.concerto_camping_listing .concerto_camping_card .card_media,.concerto_camping_listing .sidebar-camping-card .card_media{border-radius:8px 0 0 8px;overflow:hidden}.concerto_camping_listing .concerto_camping_card .card_media img,.concerto_camping_listing .sidebar-camping-card .card_media img{aspect-ratio:16/9;display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.concerto_camping_listing .concerto_camping_card .card_body,.concerto_camping_listing .sidebar-camping-card .card_body{align-content:start;display:grid;gap:.25rem;grid-template-rows:auto auto auto auto;padding:1rem 1rem 1rem 0}.concerto_camping_listing .concerto_camping_card .card_title,.concerto_camping_listing .sidebar-camping-card .card_title{font-size:1.3rem;font-weight:700;line-height:1.25;margin:.75rem 0}.concerto_camping_listing .concerto_camping_card .card_meta,.concerto_camping_listing .sidebar-camping-card .card_meta{color:#666;display:flex;flex-direction:row;gap:.5rem;justify-content:space-between}.concerto_camping_listing .concerto_camping_card .card_meta .ref,.concerto_camping_listing .sidebar-camping-card .card_meta .ref{font-size:.75rem}.concerto_camping_listing .concerto_camping_card .card_meta .ref,.concerto_camping_listing .concerto_camping_card .card_meta .region,.concerto_camping_listing .sidebar-camping-card .card_meta .ref,.concerto_camping_listing .sidebar-camping-card .card_meta .region{white-space:nowrap}.concerto_camping_listing .concerto_camping_card .card_price,.concerto_camping_listing .sidebar-camping-card .card_price{color:inherit;display:flex;flex-direction:column;font-size:1.8rem;font-weight:700;margin-top:.25rem}.concerto_camping_listing .concerto_camping_card .card_cta,.concerto_camping_listing .sidebar-camping-card .card_cta{color:var(--wp--preset--color--accent);display:inline-block;font-weight:800;padding:.5rem;text-transform:uppercase}@media(max-width:800px){.concerto_camping_listing .concerto_camping_card .card_link{grid-template-columns:1fr}.concerto_camping_listing .concerto_camping_card .card_body{padding:1rem!important}.concerto_camping_listing .concerto_camping_card .card_body .card_price{font-size:1.5rem!important}}@media(max-width:500px){.concerto_camping_listing .region-sidebar .sidebar-camping-card .card_link{flex-direction:column;gap:0}.concerto_camping_listing .region-sidebar .sidebar-camping-card .card_link .card_media{border-radius:8px;width:100%}.concerto_camping_listing .region-sidebar .sidebar-camping-card .card_link .card_body{width:100%}}.concerto_view_map{display:none;position:relative}.concerto_view_map.is-visible{display:block}.concerto_view_map .concerto_camping_map{border-radius:8px;height:80vh;min-height:400px;overflow:hidden;width:100%}.concerto_view_map .concerto_camping_map.leaflet-container{height:80vh!important;width:100%!important}.concerto_view_map .concerto_camping_map{transition:opacity .3s ease}.concerto_view_map .concerto_camping_map.loading{opacity:.7;pointer-events:none}.region-sidebar{background:#fff;box-shadow:-2px 0 10px rgba(0,0,0,.1);height:100vh;overflow-y:auto;position:fixed;right:-600px;top:0;transition:right .3s ease;width:600px;z-index:1000}.region-sidebar.is-open{right:0}.region-sidebar .sidebar-header{background:#f8f9fa;border-bottom:1px solid hsla(12,11%,45%,.322);padding:1.5rem 1.5rem 1rem}.region-sidebar .sidebar-header #sidebar-title{align-items:center;color:var(--wp--preset--color--accent);display:flex;font-size:1.8rem;font-weight:700;margin:0 0 .5rem}.region-sidebar .sidebar-header .region-count{color:#666;font-size:.9rem}.region-sidebar .sidebar-header .close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;position:absolute;right:1rem;top:1rem}.region-sidebar .sidebar-header .close-btn:hover{color:#333}.region-sidebar .sidebar-content{padding:1rem 1.5rem}.region-sidebar .sidebar-campings{display:flex;flex-direction:column;gap:1rem}.region-sidebar .sidebar-camping-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:1rem;grid-template-columns:120px 1fr;transition:all .2s ease}.region-sidebar .sidebar-camping-card .card_link{display:flex;width:100%}.region-sidebar .sidebar-camping-card .card_link .card_media{width:42%}.region-sidebar .sidebar-camping-card .card_link .card_body{width:58%}.region-sidebar .sidebar-camping-card .card_link .card_body .region{align-items:center;display:flex}.region-sidebar .sidebar-camping-card .sidebar-card-media{border-radius:6px 0 0 6px;height:100%;overflow:hidden}.region-sidebar .sidebar-camping-card .sidebar-card-media img{aspect-ratio:16/9;display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.region-sidebar .sidebar-camping-card .sidebar-card-body{display:flex;flex-direction:column;gap:.5rem}.region-sidebar .sidebar-camping-card .sidebar-card-title{color:#333;font-size:1rem;font-weight:700;line-height:1.25;margin:0}.region-sidebar .sidebar-camping-card .sidebar-card-meta{color:#666;font-size:.85rem}.region-sidebar .sidebar-camping-card .sidebar-card-meta .ref{display:block;margin-bottom:.25rem}.region-sidebar .sidebar-camping-card .sidebar-card-meta .region{align-items:center;display:flex;gap:.25rem}.region-sidebar .sidebar-camping-card .sidebar-card-meta .region img{height:12px;width:12px}.region-sidebar .sidebar-camping-card .sidebar-card-price{color:var(--wp--preset--color--accent);font-size:1.1rem;font-weight:700}.region-sidebar .sidebar-camping-card .sidebar-card-cta{background:var(--wp--preset--color--accent);border-radius:4px;color:#fff;font-size:.9rem;font-weight:600;margin-top:auto;padding:.5rem 1rem;text-align:center;text-decoration:none;transition:background .2s ease}.region-sidebar .sidebar-camping-card .sidebar-card-cta:hover{background:var(--wp--preset--color--accent),10%}.sidebar-overlay{background:rgba(0,0,0,.5);height:100%;left:0;opacity:0;position:fixed;top:0;transition:all .3s ease;visibility:hidden;width:100%;z-index:999}.sidebar-overlay.is-visible{opacity:1;visibility:visible}@media(max-width:768px){.region-sidebar{right:-100vw;width:100vw}.region-sidebar.is-open{right:0}.region-sidebar .sidebar-header{padding:1rem}.region-sidebar .sidebar-header #sidebar-title{font-size:1.1rem;margin-right:2rem}.region-sidebar .sidebar-header .close-btn{font-size:1.8rem;right:.75rem;top:.75rem}.region-sidebar .sidebar-content{padding:.75rem}.region-sidebar .sidebar-camping-card{gap:.75rem;grid-template-columns:100px 1fr;padding:.75rem}.region-sidebar .sidebar-camping-card .sidebar-card-title{font-size:.9rem}.region-sidebar .sidebar-camping-card .sidebar-card-meta{font-size:.8rem}.region-sidebar .sidebar-camping-card .sidebar-card-price{font-size:1rem}.region-sidebar .sidebar-camping-card .sidebar-card-cta{font-size:.8rem;padding:.4rem .8rem}.sidebar-overlay{background:rgba(0,0,0,.7)}}@media(max-width:480px){.region-sidebar .sidebar-camping-card{gap:.5rem;grid-template-columns:80px 1fr;padding:.5rem}.region-sidebar .sidebar-camping-card .sidebar-card-media img{aspect-ratio:4/3}}.custom-orange-marker .marker-pin{cursor:pointer;height:42px;position:relative;transition:all .3s ease;width:28px}.custom-orange-marker .marker-pin:hover{transform:scale(1.2);z-index:1000}.custom-orange-marker .marker-icon{background-color:#ed6e1e;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 2px 6px rgba(0,0,0,.3);height:28px;left:50%;position:absolute;top:0;transform:translateX(-50%);transform:translateX(-50%) rotate(-45deg);transition:all .3s ease;width:28px}.custom-orange-marker .marker-icon .marker-dot{background-color:#fff;border-radius:50%;height:9px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:9px}.custom-orange-marker .marker-shadow{background:radial-gradient(ellipse at center,rgba(0,0,0,.2) 0,transparent 70%);border-radius:50%;bottom:0;height:8px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:15px}.custom-orange-marker:hover .marker-icon{background-color:#d45a0a;box-shadow:0 4px 12px rgba(237,110,30,.4)}.custom-orange-marker:hover .marker-shadow{height:10px;width:20px}.btn-reset{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-bottom:1.5rem;margin-top:1rem;padding:.5rem 1rem}.btn-reset:hover{background:#5a6268}.noUi-target{background:#f0f0f0;border:none;border-radius:8px;box-shadow:none}.noUi-connect{background:#ed6e1e}.noUi-handle{background:#fff;border:1px solid #ed6e1e;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:26px!important;top:-4px!important;width:26px!important}.noUi-handle:after,.noUi-handle:before{background:transparent}.noUi-handle:hover{box-shadow:0 4px 8px rgba(0,0,0,.15)}.noUi-tooltip{background:#ed6e1e;border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:600}.rooms_radio_buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.rooms_radio_option{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:.5rem 1rem;transition:all .3s ease;width:47%}.rooms_radio_option:hover{background:#f8f9fa;border-color:#ed6e1e}.rooms_radio_option input[type=radio]{accent-color:#ed6e1e;height:18px;margin:0;width:18px}.rooms_radio_option .radio_label{color:#333;font-weight:500}.rooms_radio_option input[type=radio]:checked+.radio_label{color:#ed6e1e;font-weight:600}.rooms_radio_option:has(input[type=radio]:checked){background:#fdf6e3;border-color:#ed6e1e}select option:disabled{color:#999!important;cursor:not-allowed}select option:disabled,select option:disabled:hover{background-color:#f5f5f5!important}select option{transition:opacity .3s ease}.concerto_camping_filters{position:relative}.concerto_camping_filters.filtering:before{animation:filterProgress .5s ease-in-out;background:linear-gradient(90deg,#007cba,#00a0d2);content:"";height:3px;left:0;position:absolute;right:0;top:0}@keyframes filterProgress{0%{width:0}to{width:100%}}.concerto_camping_card .card_details,.sidebar-camping-card .card_details{color:#666;display:flex;font-size:.9rem;gap:1rem;margin:0}.concerto_camping_card .card_details .camping_introduction,.sidebar-camping-card .card_details .camping_introduction{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.5;max-height:4.5em;overflow:hidden;text-overflow:ellipsis}.concerto_camping_card .card_details .camping_rooms,.concerto_camping_card .card_details .camping_surface,.sidebar-camping-card .card_details .camping_rooms,.sidebar-camping-card .card_details .camping_surface{align-items:center;display:flex;gap:.25rem}.concerto_camping_card .card_details .camping_rooms .rooms_count,.concerto_camping_card .card_details .camping_surface .rooms_count,.sidebar-camping-card .card_details .camping_rooms .rooms_count,.sidebar-camping-card .card_details .camping_surface .rooms_count{color:#333;font-weight:600}.concerto_camping_card .card_details .camping_rooms:before,.sidebar-camping-card .card_details .camping_rooms:before{content:"🏕️";font-size:.8rem}.concerto_camping_card .card_details .camping_surface:before,.sidebar-camping-card .card_details .camping_surface:before{content:"📐";font-size:.8rem}.concerto_camping_card .card_details_sidebar,.sidebar-camping-card .card_details_sidebar{color:#666;display:flex;flex-direction:column;font-size:.8rem;gap:.25rem}.concerto_camping_card .card_details_sidebar .camping_introduction_sidebar,.sidebar-camping-card .card_details_sidebar .camping_introduction_sidebar{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.5;max-height:4.5em;overflow:hidden;text-overflow:ellipsis}.concerto_camping_card .card_details_sidebar .camping_rooms_sidebar,.concerto_camping_card .card_details_sidebar .camping_surface_sidebar,.sidebar-camping-card .card_details_sidebar .camping_rooms_sidebar,.sidebar-camping-card .card_details_sidebar .camping_surface_sidebar{align-items:center;display:flex;gap:.25rem}.concerto_camping_card .card_details_sidebar .camping_rooms_sidebar:before,.sidebar-camping-card .card_details_sidebar .camping_rooms_sidebar:before{content:"🏕️";font-size:.7rem}.concerto_camping_card .card_details_sidebar .camping_surface_sidebar:before,.sidebar-camping-card .card_details_sidebar .camping_surface_sidebar:before{content:"📐";font-size:.7rem}.card_title{display:-webkit-box;font-size:1.3rem;font-weight:700;line-height:1.25;margin:.75rem 0;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
