.camping-info-card{background:linear-gradient(135deg,#f8faf8,#f0f5f1);padding:1.5rem 2rem;border:1px solid #e8ede8;margin-bottom:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.camping-location-line{font-size:1.1rem;color:#333;display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:1.1rem}
.camping-location-line i{font-size:1.2rem;color:#e53935;filter:drop-shadow(0 1px 2px rgba(229,57,53,.3))}
.camping-badges-row{display:flex;flex-wrap:wrap;gap:.5rem; margin-bottom:1.5rem}
.camping-badges-row .badge{box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.04)}
.camping-badges-row .badge i{filter:drop-shadow(0 1px 0 rgba(0,0,0,.15))}
.camping-amenities-row{display:flex;flex-wrap:wrap;gap:.5rem}
.camping-amenity-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#edf7f0,#d4edda);color:#2d6a4f;font-size:1rem;transition:all .2s;box-shadow:0 2px 4px rgba(45,106,79,.15),inset 0 1px 0 rgba(255,255,255,.7)}
.camping-amenity-icon:hover{background:linear-gradient(135deg,#3d8b5f,#2d6a4f);color:#fff;transform:scale(1.1) translateY(-1px);box-shadow:0 4px 8px rgba(45,106,79,.3),inset 0 1px 0 rgba(255,255,255,.15)}

.camping-amenities-labeled{display:flex;flex-wrap:wrap;gap:.75rem}
.camping-amenities-right{justify-content:flex-end}
.camping-amenity-labeled{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:52px;max-width:68px}
.camping-amenity-labeled span{font-size:.7rem;color:#555;font-weight:500;text-align:center;line-height:1.2}
.camping-amenity-icon-lg{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#edf7f0,#d4edda);color:#2d6a4f;font-size:1.25rem;transition:all .2s;box-shadow:0 2px 4px rgba(45,106,79,.15),inset 0 1px 0 rgba(255,255,255,.7)}
.camping-amenity-labeled:hover .camping-amenity-icon-lg{background:linear-gradient(135deg,#3d8b5f,#2d6a4f);color:#fff;transform:scale(1.1) translateY(-1px);box-shadow:0 4px 8px rgba(45,106,79,.3),inset 0 1px 0 rgba(255,255,255,.15)}
.camping-rating-inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.camping-rating-big-sm{font-size:1.5rem;font-weight:700;color:#2d6a4f;line-height:1}
.camping-rating-stars-inline{color:#ffc107;font-size:1rem}
.camping-rating-stars-inline i{filter:drop-shadow(0 1px 1px rgba(180,130,0,.35))}
.camping-rating-count-inline{font-size:.85rem;color:#4b5157}
.camping-rating-summary{text-align:right}
.camping-rating-big{font-size:2.5rem;font-weight:700;color:#2d6a4f;line-height:1}
.camping-rating-stars{color:#ffc107;font-size:1.1rem}
.camping-rating-stars i{margin-right:1px;filter:drop-shadow(0 1px 1px rgba(180,130,0,.35))}
.camping-rating-count{font-size:.85rem;color:#4b5157}
.camping-rating-inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.camping-rating-big-sm{font-size:1.4rem;font-weight:700;color:#2d6a4f;line-height:1}
.camping-rating-stars-inline{color:#ffc107;font-size:1rem}
.camping-rating-stars-inline i{filter:drop-shadow(0 1px 1px rgba(180,130,0,.35))}
.camping-rating-count-inline{font-size:.85rem;color:#4b5157;text-decoration:none;transition:color .2s}
.camping-rating-count-inline:hover{color:#2d6a4f}
.camping-price-inline{font-size:1.1rem;font-weight:600;color:#2d6a4f}
.camping-price-label-sm{font-size:.85rem;font-weight:400;color:#4b5157}
.camping-price-tag{background:linear-gradient(135deg,#3d8b5f,#2d6a4f);color:#fff;padding:.75rem 1rem;text-align:center;display:inline-block;box-shadow:0 3px 8px rgba(45,106,79,.25),inset 0 1px 0 rgba(255,255,255,.1)}
.camping-price-from{font-size:1.3rem;font-weight:700}
.camping-price-to{font-size:1.1rem}
.camping-price-label{font-size:.75rem;opacity:.8}
.camping-contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.camping-contact-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(to bottom,#fff,#fafbfc);border:1px solid #dee2e6;text-decoration:none;color:#333;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.camping-contact-item span {font-size:.9rem}
.camping-contact-item:hover{border-color:#2d6a4f;color:#2d6a4f;box-shadow:0 3px 10px rgba(45,106,79,.12);transform:translateY(-1px)}
.camping-contact-item i{font-size:1.3rem;color:#2d6a4f;flex-shrink:0;filter:drop-shadow(0 1px 1px rgba(45,106,79,.2))}
.camping-contact-hidden{position:relative;cursor:pointer;opacity:.6}
.camping-contact-hidden:hover{opacity:1}
.camping-contact-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#333;color:#fff;font-size:.8rem;padding:.6rem 1rem;border-radius:6px;white-space:nowrap;z-index:10;box-shadow:0 4px 12px rgba(0,0,0,.2);max-width:280px;white-space:normal;text-align:center;line-height:1.4}
.camping-contact-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#333}
.camping-contact-hidden:hover .camping-contact-tooltip,.camping-contact-hidden:focus .camping-contact-tooltip{display:block}
.camping-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}
.camping-gallery-thumb{overflow:hidden;aspect-ratio:4/3;display:block}
.camping-gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.camping-gallery-thumb:hover img{transform:scale(1.05)}
.camping-description{font-size:1.05rem;line-height:1.8}
.camping-description h2{font-size:1.7rem;font-weight:600;color:#2d6a4f;margin-top:4rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e8ede8}
.camping-description h3{font-size:1.2rem;font-weight:600;color:#333;margin-top:1.5rem;margin-bottom:.75rem}
.camping-description .art-faq{border-top:0; padding-top:0}
.camping-description .art-faq h2{margin-top:0}
.camping-description .camp-desc-icons{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.5rem}
.camping-description .camp-desc-icon-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:linear-gradient(135deg,#f0f4f8,#e8edf2);border:1px solid #dde3ea;border-radius:20px;font-size:.88rem;color:#3a4a5c;font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:all .2s}
.camping-description .camp-desc-icon-item:hover{background:linear-gradient(135deg,#e4eaf0,#dbe1e8);box-shadow:0 2px 6px rgba(0,0,0,.1);transform:translateY(-1px)}
.camping-description .camp-desc-icon-item i{color:#4a6fa5;font-size:1rem;filter:drop-shadow(0 1px 1px rgba(74,111,165,.2))}
.camping-description ul.camp-check-list{list-style:none;padding:0;margin:1rem 0}
.camping-description ul.camp-check-list li{padding:.4rem 0 .4rem 1.5rem;position:relative;border-bottom:1px solid #f5f5f5}
.camping-description ul.camp-check-list li::before{content:'\f00c';font-family:'Font Awesome 7 Free';font-weight:900;position:absolute;left:0;top:.5rem;color:#2d6a4f;font-size:.8rem}
.camping-description .camp-2col{columns:2;column-gap:2rem}
.camping-description .camp-info-box{background:#f8faf8;border-left:3px solid #2d6a4f;padding:1rem 1.25rem;margin:1.5rem 0;display:flex;align-items:flex-start;gap:.5rem}
.camping-description .camp-info-box i{flex-shrink:0;margin-top:2px}
.camping-description .camp-info-box p{margin:0;font-size:1rem}
.camping-description-block h2{margin-top:1rem}
.camp-table-wrap{margin:1.5rem 0 2rem}
.camp-table-wrap .table tbody td{padding-top:1rem !important;padding-bottom:1rem !important}
.camping-description .camp-rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0}
.camping-description .camp-rating-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa}
.camping-description .camp-rating-item i{color:#2d6a4f;font-size:1rem;flex-shrink:0}
.camping-description .camp-rating-item-info{flex:1}
.camping-description .camp-rating-item-info strong{display:block;font-size:.8rem;color:#4b5157;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.camping-description .camp-rating-item-info span{font-size:.95rem;color:#333}
.camp-ring{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;font-weight:700;color:#2d6a4f}
.camp-ring-inner{width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.camping-description .camp-rating-total{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:1.25rem;background:linear-gradient(135deg,#f0f5f1,#e8ede8);border:1px solid #dce5dc}
.camp-ring-big{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.camp-ring-big-inner{width:60px;height:60px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;color:#2d6a4f}
.camp-rating-total-text{text-align:left}
.camp-rating-total-label{font-size:1.05rem;font-weight:600;color:#333}
.camp-rating-total-sub{font-size:.85rem;color:#4b5157}
.camp-rating-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;padding:.35rem .85rem;background:#2d6a4f;color:#fff !important;font-size:.85rem;font-weight:500;text-decoration:none;border-radius:4px;transition:all .2s}
.camp-rating-btn:hover{background:#245a42;transform:translateY(-1px);box-shadow:0 2px 6px rgba(45,106,79,.3)}
.camp-rating-btn i{font-size:.75rem}
.camping-description .camp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0}
.camping-description .camp-info-item{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;background:#f8f9fa}
.camping-description .camp-info-item i{color:#4a6fa5;font-size:1rem;margin-top:2px;flex-shrink:0}
.camping-description .camp-info-item strong{display:block;font-size:.8rem;color:#4b5157;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.camping-description .camp-info-item span{font-size:.95rem;color:#333}
@media(max-width:768px){
.camping-description .camp-desc-icons{gap:.5rem}
.camping-description .camp-desc-icon-item{font-size:.8rem;padding:.35rem .65rem}
.camping-description .camp-2col{columns:1}
.camping-description .camp-rating-grid{grid-template-columns:1fr}
.camping-description .camp-info-grid{grid-template-columns:1fr}
}
.camping-price-info{background:#f8f9fa;padding:1.25rem 1.5rem;line-height:1.8}
.camping-rating-intro{margin-top:1.5rem;margin-bottom:.5rem;line-height:1.7;color:#4b5157}
.camping-rating-intro h2{font-size:1.7rem;font-weight:600;color:#2d6a4f;margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e8ede8}
.camping-rating-intro p{margin-bottom:.75rem}
.camping-review-summary{background:linear-gradient(135deg,#f8faf8,#f0f5f1);padding:1.5rem;border:1px solid #e8ede8;box-shadow:0 2px 8px rgba(0,0,0,.05); margin-top:1.2rem}
.camping-review-score{font-size:3rem;font-weight:800;color:#2d6a4f;line-height:1;text-align:center;width:80px}
.camping-rating-bar-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}
.camping-rating-bar-label{width:100px;font-size:.85rem;color:#4b5157;flex-shrink:0}
.camping-rating-bar{flex:1;height:8px;background:#e9ecef;overflow:hidden}
.camping-rating-bar-fill{height:100%;background:linear-gradient(90deg,#52b788,#2d6a4f);transition:width .5s}
.camping-rating-bar-value{width:30px;text-align:right;font-size:.85rem;font-weight:600;color:#495057}
.camping-reviews-list{display:flex;flex-direction:column;gap:1rem}
.camping-review-item{background:#fff;border:1px solid #e9ecef;padding:1.25rem}
.camping-review-item strong{color:#2d6a4f; font-weight:500;}
.camping-review-rating{color:#ffc107;white-space:nowrap}
.review-flag{width:18px;height:13px;vertical-align:middle;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-right:4px;position:relative;top:-1px}
.camping-review-form{background:linear-gradient(135deg,#f8faf8,#f0f5f1);padding:1.5rem 2rem;border:1px solid #e8ede8;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.camping-review-form h3{margin-top:0; margin-bottom:1rem; padding-bottom:0; border-bottom:none}
.camping-rating-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}
.camping-rating-input-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#fff;border:1px solid #e9ecef}
.camping-rating-input-row label{font-size:.9rem;margin:0}
.camping-star-selector{display:flex;gap:2px}
.camping-star-pick{font-size:1.3rem;color:#ddd;cursor:pointer;transition:all .15s;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}
.camping-star-pick.fa-solid,.camping-star-pick.star-hover{color:#ffc107;filter:drop-shadow(0 1px 2px rgba(180,130,0,.35))}
.camping-card-location{font-size:.85rem;color:#4b5157;margin-bottom:.3rem}
.camping-card-amenities{display:flex;flex-wrap:wrap;gap:3px}
.camping-card-amenities .camping-amenity-icon{width:26px;height:26px;font-size:.75rem}
.camping-card-price{font-size:.85rem;color:#2d6a4f;font-weight:600;margin-bottom:.5rem}
.rating-count{font-size:.75rem;color:rgba(255,255,255,.8)}
.module-ctn-txt h2 i.fa-solid,.module-ctn-txt h2 i.fa-regular{filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}
@media(max-width:768px){
.camping-info-card{padding:1rem}
.camping-rating-summary{text-align:left;margin-top:1rem}
.camping-rating-big{font-size:2rem}
.camping-contact-grid{grid-template-columns:1fr}
.camping-gallery-grid{grid-template-columns:repeat(2,1fr)}
.camping-rating-inputs{grid-template-columns:1fr}
.camping-review-form{padding:1rem}
.camping-amenities-right{justify-content:flex-start}
}

/* === Logos bar === */
.camp-logos-bar{max-width:1580px;margin:30px auto 0;padding:0 1.5rem}
.camp-logos-inner{background:#fff;border:1px solid #e8ede8;border-bottom:none;padding:.9rem 2rem;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-top:30px;margin-bottom:0}
.camp-logos-row{display:flex;align-items:center;justify-content:center;gap:2rem}
.camp-logo-item{display:flex;align-items:center;justify-content:center;padding:.25rem}
.camp-logo-item img{max-height:22px;width:auto;object-fit:contain;filter:grayscale(40%);opacity:.7;transition:all .3s}
.camp-logo-item:hover img{filter:grayscale(0);opacity:1}
.camp-logo-sep{width:1px;height:22px;background:#ddd;flex-shrink:0}
.camp-info-wrap{max-width:1580px;margin:0 auto;padding:0 1.5rem}
@media(max-width:767.98px){
.camp-logos-inner{padding:.5rem .75rem;margin-top:20px}
.camp-logos-row{gap:0;position:relative;height:22px;overflow:hidden}
.camp-logo-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;animation:logoFade 8s infinite}
.camp-logo-item:nth-child(1){animation-delay:0s}
.camp-logo-item:nth-child(3){animation-delay:2s}
.camp-logo-item:nth-child(5){animation-delay:4s}
.camp-logo-item:nth-child(7){animation-delay:6s}
.camp-logo-item img{max-height:18px}
.camp-logo-sep{display:none}
.camp-info-wrap{padding:0 1rem}
}
@keyframes logoFade{0%{opacity:0}5%{opacity:1}20%{opacity:1}25%{opacity:0}100%{opacity:0}}

/* === Hero gallery === */
.camp-hero-container{max-width:1580px;margin:0 auto;padding:0 1.5rem}
.camp-hero-inner{width:100%}
.camp-hero-address{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.95rem;color:#4b5157;margin-bottom:.75rem;flex-wrap:wrap}
.camp-hero-address-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.camp-hero-address>span{font-weight:600;color:#333}
.camp-hero-pin{color:#e53935;font-size:1.1rem;filter:drop-shadow(0 1px 2px rgba(229,57,53,.3))}
.camp-hero-address-left>span{font-weight:600;color:#333}
.camp-hero-rating{display:flex;align-items:center;gap:.4rem;flex-shrink:0}
.camp-hero-rating-num{font-size:1rem;font-weight:600;color:#2d6a4f}
.camp-hero-rating-stars{color:#ffc107;font-size:.8rem}
.camp-hero-rating-stars i{filter:drop-shadow(0 1px 1px rgba(180,130,0,.35))}
.camp-hero-rating-count{font-size:.85rem;color:#4b5157;text-decoration:none;transition:color .2s}
.camp-hero-rating-count:hover{color:#2d6a4f}
.camp-hero-price{position:absolute;bottom:12px;left:12px;background:rgba(45,106,79,.9);color:#fff;padding:.4rem .9rem;font-size:.9rem;font-weight:600;backdrop-filter:blur(4px);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.camp-hero-intro, p.camp-hero-intro{border-left:3px solid #2d6a4f;padding-left:1rem;margin:1.5rem 0 1.5rem .6rem;color:#555;font-size:1rem;line-height:1.6}
.camp-hero-sep{color:#ccc;font-weight:300}
.camp-hero-map-link{color:#2d6a4f;text-decoration:none;font-weight:500;transition:color .2s}
.camp-hero-map-link:hover{color:#1b4332;text-decoration:underline}

.camp-hero-gallery{display:grid;grid-template-columns:775fr 737fr;gap:30px;margin-top:1rem}
.camp-hero-main{display:block;overflow:hidden;aspect-ratio:775/590;position:relative;border:1px solid #eff3f4;padding:1px}
.camp-hero-main img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.camp-hero-main:hover img{transform:scale(1.03)}
.camp-hero-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:30px}
.camp-hero-thumb{display:block;overflow:hidden;position:relative;border:1px solid #eff3f4;padding:1px}
.camp-hero-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.camp-hero-thumb:hover img{transform:scale(1.05)}
.camp-hero-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font-size:1.8rem;font-weight:700;pointer-events:none}

.camp-hero-scroll{display:none;margin-top:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:8px;padding-bottom:8px}
.camp-hero-scroll-item{flex:0 0 92%;scroll-snap-align:start;overflow:hidden;aspect-ratio:4/3;border:1px solid #eff3f4;padding:1px}
.camp-hero-scroll-item img{width:100%;height:100%;object-fit:cover}
.camp-hero-scroll::-webkit-scrollbar{height:4px}
.camp-hero-scroll::-webkit-scrollbar-thumb{background:#2d6a4f;border-radius:4px}

@media(max-width:767.98px){
.camp-hero-container{padding:0 1rem}
.camp-hero-gallery{display:none}
.camp-hero-scroll{display:flex}
.camp-hero-address{flex-direction:column;align-items:flex-start;gap:.5rem}
.camp-hero-rating{margin-top:0}
}
@media(min-width:768px) and (max-width:1199.98px){
.camp-hero-gallery{gap:15px}
.camp-hero-side{gap:15px}
}

/* === Review images === */
.review-images{display:flex;gap:8px;flex-wrap:wrap}
.review-img-thumb{display:block;width:100px;height:75px;border-radius:6px;overflow:hidden}
.review-img-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.review-img-thumb:hover img{transform:scale(1.05)}
.review-img-preview{display:flex;gap:8px;flex-wrap:wrap}
.review-img-preview-item{width:80px;height:60px;object-fit:cover;border-radius:6px;border:2px solid #dee2e6}

/* === Card location === */
.bornholm-map-popup .btn-nav{width:100%;justify-content:center;box-sizing:border-box}
.camp-card-location{display:flex;align-items:center;gap:.4rem;font-size:.95rem;color:#2d6a4f;font-weight:500;margin-bottom:1rem}
.camp-card-location i{font-size:1.1rem;filter:drop-shadow(0 1px 1px rgba(45,106,79,.2))}

/* === Zone grouping === */
.camp-zone-header{margin-top:2.5rem;margin-bottom:.5rem}
.camp-zone-ico{width:60px;height:auto;flex-shrink:0}
.camp-zone-title{font-size:1.3rem;font-weight:700;color:#2d6a4f;margin:0}
.camp-zone-desc, p.camp-zone-desc{font-size:1rem;color:#6c757d;margin:.8rem 0 0 0;line-height:1.5}
.theme-dark .camp-zone-title{color:#70be72}
.theme-dark .camp-zone-desc{color:#adb5bd}

/* === Favorite heart === */
.camp-card-img-wrap{position:relative;height:100%}
.camp-card-img-wrap .info-card-image{height:100%}
.camp-fav-btn{position:absolute;top:12px;left:12px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.85);color:#ccc;font-size:1.4rem;cursor:pointer;transition:all .25s;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.camp-fav-btn:hover{background:#fff;color:#e53935;transform:scale(1.1)}
.camp-fav-btn.is-fav{background:#fff;color:#e53935}
.camp-fav-btn.is-fav i{filter:drop-shadow(0 1px 3px rgba(229,57,53,.3))}
.camp-fav-btn.is-fav:hover{color:#b71c1c}
.camp-map-badge{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;background:rgba(255,255,255,.9);z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.12);padding:4px}
.camp-map-badge img{width:100%;height:100%;object-fit:contain}

/* === W okolicy - nearby === */
.camp-nearby-list{margin-top:10px}
.camp-nearby-list a{text-decoration:none;color:inherit;display:block}
.camp-nearby-list a:hover{text-decoration:none}
.camp-nearby-item{margin-top:15px;margin-bottom:20px;padding:0 0 15px 0;border-bottom:1px solid #e9ecef;transition:all .25s ease}
.camp-nearby-item:last-child{margin-bottom:0}
.camp-nearby-list a:hover .camp-nearby-item{border-bottom-color:#70be72}
.camp-nearby-image{width:100%;height:120px;object-fit:cover;border-radius:2px;transition:filter .3s}
.camp-nearby-list a:hover .camp-nearby-image{filter:brightness(1.1)}
.camp-nearby-nophoto{display:flex;align-items:center;justify-content:center;background:#f1f3f5;color:#adb5bd;font-size:1.5rem}
.camp-nearby-item h3{font-size:1.05rem;font-weight:600;margin:0;color:#212529;text-decoration:none;border-bottom:none}
.camp-nearby-list a:hover h3{color:#2d6a4f;text-decoration:none}
.camp-nearby-desc,p.camp-nearby-desc{font-size:.9rem;color:#4b5157;margin:.3rem 0 0;line-height:1.4}
.camp-nearby-item .d-flex{align-items:flex-start}
.camp-nearby-arrow{width:45px!important;height:45px!important;font-size:2rem!important;margin-left:15px!important;margin-top:22px!important;flex-shrink:0}
.camp-nearby-list a:hover .camp-nearby-arrow{background-color:#9ace9c;color:#eef1f4!important}
.camp-section-ico{color:#70be72;margin-right:6px}
@media(max-width:767.98px){
.camp-nearby-image{height:180px;margin-bottom:0}
.camp-nearby-item h3{padding:15px 0 6px 0;margin-bottom:0}
.camp-nearby-item .d-flex{flex-direction:column;align-items:stretch;padding:0 15px 15px 15px;background-color:#f5f5f5;padding-top:0}
.camp-nearby-item .d-flex .flex-grow-1{margin-right:0!important}
p.camp-nearby-desc{padding:0;margin:.3rem 0 15px}
.camp-nearby-arrow{width:100%!important;height:50px!important;text-align:center;margin-left:0!important;margin-top:0!important}
}

/* ========================================
   DARK MODE - theme-dark
   ======================================== */

/* Info card & location */
.theme-dark .camping-info-card{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#444;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.theme-dark .camping-location-line{color:#e0e0e0}
.theme-dark .camping-badges-row .badge{box-shadow:0 1px 3px rgba(0,0,0,.3);border-color:rgba(255,255,255,.08)}

/* Amenity icons */
.theme-dark .camping-amenity-icon{background:linear-gradient(135deg,#2d4a3a,#1e3a2c);color:#70be72;box-shadow:0 2px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.theme-dark .camping-amenity-icon:hover{background:linear-gradient(135deg,#70be72,#52b788);color:#fff}
.theme-dark .camping-amenity-icon-lg{background:linear-gradient(135deg,#2d4a3a,#1e3a2c);color:#70be72;box-shadow:0 2px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.theme-dark .camping-amenity-labeled:hover .camping-amenity-icon-lg{background:linear-gradient(135deg,#70be72,#52b788);color:#fff}
.theme-dark .camping-amenity-labeled span{color:#adb5bd}

/* Ratings */
.theme-dark .camping-rating-big-sm,.theme-dark .camping-rating-big,.theme-dark .camping-rating-inline{color:#70be72}
.theme-dark .camping-rating-count-inline,.theme-dark .camping-rating-count{color:#adb5bd}
.theme-dark .camping-rating-count-inline:hover{color:#70be72}
.theme-dark .camping-price-inline{color:#70be72}
.theme-dark .camping-price-label-sm{color:#adb5bd}

/* Contact grid */
.theme-dark .camping-contact-item{background:linear-gradient(to bottom,#333,#2a2a2a);border-color:#444;color:#e0e0e0}
.theme-dark .camping-contact-item:hover{border-color:#70be72;color:#70be72;box-shadow:0 3px 10px rgba(112,190,114,.15)}
.theme-dark .camping-contact-item i{color:#70be72}

/* Description */
.theme-dark .camping-description{color:#e0e0e0}
.theme-dark .camping-description h2{color:#70be72;border-bottom-color:#444}
.theme-dark .camping-description h3{color:#ddd}
.theme-dark .camping-description .camp-desc-icon-item{background:linear-gradient(135deg,#2d3a4a,#253040);border-color:#3a4a5c;color:#c0cad5}
.theme-dark .camping-description .camp-desc-icon-item:hover{background:linear-gradient(135deg,#354a5c,#2d4050);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.theme-dark .camping-description .camp-desc-icon-item i{color:#7aadd4}
.theme-dark .camping-description ul.camp-check-list li{border-bottom-color:#3a3a3a;color:#e0e0e0}
.theme-dark .camping-description ul.camp-check-list li::before{color:#70be72}
.theme-dark .camping-description .camp-info-box{background:#2a2a2a;border-left-color:#70be72}
.theme-dark .camping-description .camp-info-box p{color:#e0e0e0}

/* Info grid & rating grid */
.theme-dark .camping-description .camp-info-item{background:#2a2a2a}
.theme-dark .camping-description .camp-info-item i{color:#7aadd4}
.theme-dark .camping-description .camp-info-item strong{color:#adb5bd}
.theme-dark .camping-description .camp-info-item span{color:#e0e0e0}
.theme-dark .camping-description .camp-rating-item{background:#2a2a2a}
.theme-dark .camping-description .camp-rating-item i{color:#70be72}
.theme-dark .camping-description .camp-rating-item-info strong{color:#adb5bd}
.theme-dark .camping-description .camp-rating-item-info span{color:#e0e0e0}
.theme-dark .camp-ring-inner{background:#333}
.theme-dark .camp-ring-big-inner{background:#333;color:#70be72}
.theme-dark .camping-description .camp-rating-total{background:linear-gradient(135deg,#2a3a2e,#253028);border-color:#3a4a3c}
.theme-dark .camp-rating-total-label{color:#e0e0e0}
.theme-dark .camp-rating-total-sub{color:#adb5bd}
.theme-dark .camp-rating-btn{background:#70be72;color:#1a1a1a!important}
.theme-dark .camp-rating-btn:hover{background:#8dd48f}

/* Tables */
.theme-dark .camp-table-wrap .table{color:#e0e0e0}
.theme-dark .camp-table-wrap .table-striped>tbody>tr:nth-of-type(odd){background-color:rgba(255,255,255,.04)}

/* Logos bar */
.theme-dark .camp-logos-inner{background:#2a2a2a;border-color:#444}
.theme-dark .camp-logo-item img{filter:grayscale(40%) brightness(1.5);opacity:.6}
.theme-dark .camp-logo-item:hover img{filter:grayscale(0) brightness(1.3);opacity:.9}
.theme-dark .camp-logo-sep{background:#555}

/* Hero */
.theme-dark .camp-hero-address>span,.theme-dark .camp-hero-address-left>span{color:#e0e0e0}
.theme-dark .camp-hero-rating-num{color:#70be72}
.theme-dark .camp-hero-rating-count{color:#adb5bd}
.theme-dark .camp-hero-rating-count:hover{color:#70be72}
.theme-dark .camp-hero-intro,.theme-dark p.camp-hero-intro{border-left-color:#70be72;color:#bbb}
.theme-dark .camp-hero-map-link{color:#70be72}
.theme-dark .camp-hero-map-link:hover{color:#8dd48f}
.theme-dark .camp-hero-sep{color:#555}
.theme-dark .camp-hero-main,.theme-dark .camp-hero-thumb,.theme-dark .camp-hero-scroll-item{border-color:#444}

/* Reviews */
.theme-dark .camping-review-summary{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#444}
.theme-dark .camping-review-score{color:#70be72}
.theme-dark .camping-rating-bar{background:#444}
.theme-dark .camping-rating-bar-fill{background:linear-gradient(90deg,#70be72,#2d6a4f)}
.theme-dark .camping-rating-bar-label{color:#adb5bd}
.theme-dark .camping-rating-bar-value{color:#e0e0e0}
.theme-dark .camping-review-item{background:#2a2a2a;border-color:#444;color:#e0e0e0}
.theme-dark .camping-review-form{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#444}
.theme-dark .camping-review-form h3{color:#70be72}
.theme-dark .camping-rating-input-row{background:#333;border-color:#444}
.theme-dark .camping-rating-input-row label{color:#e0e0e0}
.theme-dark .camping-price-info{background:#2a2a2a;color:#e0e0e0}
.theme-dark .camping-rating-intro{color:#bbb}
.theme-dark .camping-rating-intro h2{color:#70be72;border-bottom-color:#444}
.theme-dark .review-img-preview-item{border-color:#555}

/* Cards */
.theme-dark .camp-card-location{color:#70be72}
.theme-dark .camp-fav-btn{background:rgba(50,50,50,.85);color:#666}
.theme-dark .camp-fav-btn:hover{background:#444;color:#e53935}
.theme-dark .camp-fav-btn.is-fav{background:#444;color:#e53935}
.theme-dark .camp-map-badge{background:rgba(50,50,50,.9)}

/* W okolicy - nearby */
.theme-dark .camp-nearby-item{border-bottom-color:#444}
.theme-dark .camp-nearby-list a:hover .camp-nearby-item{border-bottom-color:#70be72}
.theme-dark .camp-nearby-nophoto{background:#333;color:#666}
.theme-dark .camp-nearby-item h3{color:#e0e0e0}
.theme-dark .camp-nearby-list a:hover h3{color:#70be72}
.theme-dark .camp-nearby-desc,.theme-dark p.camp-nearby-desc{color:#adb5bd}
.theme-dark .camp-nearby-arrow{background-color:transparent!important;color:#70be72!important;border:2px solid #70be72!important}
.theme-dark .camp-nearby-list a:hover .camp-nearby-arrow{background-color:rgba(112,190,114,.1)!important;color:#8dd48f!important;border-color:#8dd48f!important}
@media(max-width:767.98px){
.theme-dark .camp-nearby-item .d-flex{background-color:#333}
.theme-dark .camp-nearby-item h3{background-color:#333}
}

/* Camp navigation row */
.camp-navigation{margin-top:2rem !important;padding-top:1.5rem !important}
.camp-nav-flex{display:flex;gap:4px;align-items:stretch}
.camp-nav-flex .camp-nav-side{flex:1;min-width:0}
.camp-nav-flex .camp-nav-side .nav-btn{margin:0;height:100%}
.camp-navigation .camp-nav-all{display:flex;align-items:center;justify-content:center;width:48px;border-radius:0;background:#f8f9fa;border:1px solid #e9ecef;color:#4a6fa5;font-size:1.2rem;text-decoration:none;transition:background .25s,color .25s}
.camp-navigation .camp-nav-all:hover{background:#ffffff;border-color:#6c757d;color:#2d6a4f}
@media(max-width:991px){
.camp-nav-flex{flex-direction:column;gap:10px}
.camp-navigation .camp-nav-all{width:100%;height:44px;font-size:1rem;padding:.5rem 0}
}

/* Dark mode nav */
.theme-dark .camp-navigation .camp-nav-all{background:#1e293b;border-color:#3a4a5c;color:#7baaf7}
.theme-dark .camp-navigation .camp-nav-all:hover{background:#273548;color:#9dc2ff}

/* Reviews modal & button */
.btn-read-all-reviews{display:flex;align-items:center;justify-content:center;width:100%;padding:.9rem 1.5rem;margin-top:1rem;background:linear-gradient(135deg,#355C66,#2d4f58);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(53,92,102,.2)}
.btn-read-all-reviews:hover{background:linear-gradient(135deg,#2d4f58,#254249);box-shadow:0 4px 12px rgba(53,92,102,.35);transform:translateY(-1px)}
.btn-read-all-reviews:active{transform:translateY(0)}

.reviews-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.reviews-modal-overlay.active{opacity:1;visibility:visible}

.reviews-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);transform:translateY(20px) scale(.97);transition:transform .3s}
.reviews-modal-overlay.active .reviews-modal{transform:translateY(0) scale(1)}

.reviews-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e9ecef;flex-shrink:0}
.reviews-modal-header h3{margin:0;font-size:1.15rem;color:#1a1a1a}
.reviews-modal-count{font-size:.85rem;color:#6b7280;margin-top:.25rem;display:block}
.reviews-modal-close{background:none;border:none;font-size:1.8rem;color:#6b7280;cursor:pointer;line-height:1;padding:0 .25rem;transition:color .2s}
.reviews-modal-close:hover{color:#1a1a1a}

.reviews-modal-body{overflow-y:auto;padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:.75rem}
.reviews-modal-body .camping-review-item{padding:1rem 1.25rem;border-radius:8px}

@media(max-width:575.98px){
.reviews-modal{width:95%;max-height:90vh;border-radius:10px}
.reviews-modal-header{padding:1rem}
.reviews-modal-body{padding:1rem}
}

.theme-dark .btn-read-all-reviews{background:linear-gradient(135deg,#2a4a52,#1e3a42);border:1px solid #3a5a64}
.theme-dark .reviews-modal{background:#1e1e1e;border:1px solid #333}
.theme-dark .reviews-modal-header{border-color:#333}
.theme-dark .reviews-modal-header h3{color:#e0e0e0}
.theme-dark .reviews-modal-count{color:#9ca3af}
.theme-dark .reviews-modal-close{color:#9ca3af}
.theme-dark .reviews-modal-close:hover{color:#fff}
.theme-dark .reviews-modal-body .camping-review-item{background:#2a2a2a;border-color:#444}
