:root{--color-primary:#1a472a;--color-primary-dark:#0f2d1a;--color-accent:#2d5a3f;--color-warning:#f59e0b;--color-success:#10b981;--color-error:#ef4444;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--radius-sm:4px;--radius:8px;--radius-lg:12px}*,:after,:before{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);line-height:1.6;color:var(--color-gray-800);background-color:var(--color-gray-50)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.site-header{background:white;border-bottom:1px solid var(--color-gray-200);padding:1rem 0;position:sticky;top:0;z-index:100}.site-header .container{display:flex;justify-content:space-between;align-items:center}.site-header .logo{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.site-header nav{display:flex;gap:1.5rem}.site-header nav a{color:var(--color-gray-600);font-weight:500}.site-header nav a:hover{color:var(--color-primary);text-decoration:none}.site-footer{background:var(--color-gray-800);color:white;padding:2rem 0;margin-top:4rem}.site-footer a{color:var(--color-gray-300)}.card{background:white;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:.875rem;cursor:pointer;transition:background-color .2s,transform .1s;border:none;text-decoration:none}.btn-primary{background:var(--color-primary);color:white}.btn-primary:hover{background:var(--color-primary-dark);text-decoration:none}.btn-secondary{background:var(--color-gray-200);color:var(--color-gray-700)}.btn-secondary:hover{background:var(--color-gray-300);text-decoration:none}.btn-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:white;text-decoration:none}.grid{display:grid;gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.quality-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.quality-badge--high{background:#d1fae5;color:#065f46}.quality-badge--medium{background:#fef3c7;color:#92400e}.quality-badge--low{background:#fee2e2;color:#991b1b}.field-missing{border-left:3px solid var(--color-warning);padding-left:1rem;background:#fffbeb}.field-present{border-left:3px solid var(--color-success);padding-left:1rem}.section{padding:3rem 0}.section-title{font-size:1.5rem;margin-bottom:1.5rem}.campsite-hero{position:relative;height:400px;background:var(--color-gray-200);overflow:hidden}.campsite-hero img{width:100%;height:100%;object-fit:cover}.campsite-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:white}.campsite-hero-overlay h1{margin:0;font-size:2.5rem}.campsite-hero-overlay .tagline{font-size:1.25rem;opacity:.9}.campsite-quick-info{display:flex;flex-wrap:wrap;gap:2rem;padding:1.5rem;background:white;border-bottom:1px solid var(--color-gray-200)}.campsite-quick-info-item{display:flex;align-items:center;gap:.5rem;color:var(--color-gray-600)}.campsite-quick-info-item strong{color:var(--color-gray-800)}.amenities-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.amenity-item{padding:.5rem}.pricing-table td,.pricing-table th{padding:.75rem 1rem}.pricing-table th{background:var(--color-gray-100)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.comparison-container{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:calc(100vh - 200px)}.comparison-panel{overflow:auto;border:1px solid var(--color-gray-200)}.comparison-panel-header{padding:1rem;background:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);font-weight:600;display:flex;justify-content:space-between;align-items:center}.comparison-iframe{width:100%;height:calc(100vh - 260px);border:none}.comparison-blocked{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background:var(--color-gray-100);color:var(--color-gray-600);text-align:center;padding:2rem}.accommodation-card-image{height:160px}.accommodation-card-content{padding:1rem}.accommodation-type{display:inline-block;padding:.25rem .5rem;background:var(--color-primary);color:white;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:.5rem}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-title{height:2rem;width:60%;margin-bottom:1rem}.skeleton-image{aspect-ratio:16/9}.campsite-theme{min-height:100vh;display:flex;flex-direction:column}.container-narrow{max-width:800px;margin:0 auto;padding:0 1rem}.container-wide{max-width:1400px;margin:0 auto;padding:0 1rem}.site-header-campsite{background:white;border-bottom:1px solid var(--color-gray-200);padding:.75rem 0;position:sticky;top:0;z-index:100;transition:background-color .3s,border-color .3s}.site-header-transparent{background:transparent;border-bottom:none;position:absolute;left:0;right:0}.site-header-transparent .site-logo-text,.site-header-transparent .site-nav-link{color:white;text-shadow:0 1px 2px rgba(0,0,0,.3)}.site-header-minimal{padding:.5rem 0}.site-header-inner{justify-content:space-between}.site-header-inner,.site-logo{display:flex;align-items:center}.site-logo{gap:.75rem;text-decoration:none}.site-logo-image{height:48px;width:auto;object-fit:contain}.site-logo-text{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.site-nav-desktop{display:none;gap:1.5rem}@media (min-width:1024px){.site-nav-desktop{display:flex}}.site-nav-link{color:var(--color-gray-600);font-weight:500;font-size:.9rem;text-decoration:none;padding:.5rem 0;position:relative}.site-nav-link:hover{color:var(--color-primary);text-decoration:none}.site-nav-link:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform .2s}.site-nav-link:hover:after{transform:scaleX(1)}.site-header-actions{display:flex;align-items:center;gap:.75rem}.mobile-menu-toggle{display:flex;padding:.5rem;background:transparent;border:none;cursor:pointer}@media (min-width:1024px){.mobile-menu-toggle{display:none}}.hamburger{display:flex;flex-direction:column;gap:5px;width:24px}.hamburger span{display:block;height:2px;width:100%;background:var(--color-gray-700);border-radius:1px;transition:transform .3s,opacity .3s}.hamburger-open span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-open span:nth-child(2){opacity:0}.hamburger-open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;animation:fadeIn .2s ease}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:white;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-gray-200)}.mobile-menu-title{font-weight:700;font-size:1.1rem;color:var(--color-gray-900)}.mobile-menu-close{background:transparent;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-gray-500);padding:0 .5rem}.mobile-menu-nav{flex:1;overflow-y:auto;padding:1rem 0}.mobile-menu-link{display:block;padding:1rem 1.5rem;color:var(--color-gray-700);font-weight:500;text-decoration:none;border-bottom:1px solid var(--color-gray-100)}.mobile-menu-link:hover{background:var(--color-gray-50);color:var(--color-primary)}.mobile-menu-actions,.mobile-menu-contact{padding:1rem;border-top:1px solid var(--color-gray-200)}.mobile-menu-contact{background:var(--color-gray-50)}.mobile-menu-contact-link{display:block;padding:.5rem 0;color:var(--color-gray-600);font-size:.9rem}.hero{position:relative;height:50vh;min-height:400px;max-height:600px;background:var(--color-gray-200);overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover}.hero-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary,var(--color-accent)) 100%)}.hero-placeholder-icon{font-size:6rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:3rem 2rem 2rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:white}.hero-title{margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-tagline{margin:.5rem 0 0;font-size:clamp(1rem,2.5vw,1.25rem);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.section{padding:4rem 0}.section:first-of-type{padding-top:3rem}.section-header{margin-bottom:2rem}.section-title{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:var(--color-gray-900)}.section-subtitle{font-size:1rem;color:var(--color-gray-600);margin:0}.section-bg-light{background:var(--color-gray-50)}.section-bg-accent{background:var(--color-primary);color:white}.section-bg-accent .section-title{color:white}.prose-campsite{line-height:1.8;color:var(--color-gray-700)}.prose-campsite p{margin:0 0 1rem}.prose-campsite h2{font-size:1.5rem;font-weight:700;margin:2rem 0 1rem;color:var(--color-gray-900)}.prose-campsite h3{font-size:1.25rem;font-weight:600;margin:1.5rem 0 .75rem;color:var(--color-gray-900)}.prose-campsite ol,.prose-campsite ul{margin:0 0 1rem;padding-left:1.5rem}.prose-campsite li{margin:.25rem 0}.prose-campsite a{color:var(--color-primary);text-decoration:underline}.prose-campsite img{max-width:100%;border-radius:var(--radius);margin:1rem 0}.amenities-grouped{display:flex;flex-direction:column;gap:2rem}.amenities-category-title{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-gray-700);display:flex;align-items:center;gap:.5rem}.amenities-category-icon{font-size:1.25rem}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.amenity-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--color-gray-100);border-radius:var(--radius-sm);font-size:.875rem;transition:background-color .2s}.amenity-item:hover{background:var(--color-gray-200)}.amenity-icon{font-size:1.25rem;flex-shrink:0}.amenity-name{color:var(--color-gray-700)}.accommodation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.accommodation-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}.accommodation-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.accommodation-card-image{height:180px;background:var(--color-gray-200);overflow:hidden}.accommodation-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.accommodation-card:hover .accommodation-card-image img{transform:scale(1.05)}.accommodation-card-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-gray-100),var(--color-gray-200))}.accommodation-card-icon{font-size:3rem;opacity:.5}.accommodation-card-content{padding:1.25rem}.accommodation-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:var(--color-primary);color:white;border-radius:9999px;font-size:.75rem;font-weight:600}.accommodation-card-title{margin:.75rem 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--color-gray-900)}.accommodation-card-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--color-gray-600)}.accommodation-card-description{margin:.75rem 0 0;font-size:.875rem;color:var(--color-gray-600);line-height:1.5}.pricing-table-wrapper{max-width:600px}.pricing-table{width:100%;border-collapse:collapse;background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.pricing-table td,.pricing-table th{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--color-gray-200)}.pricing-table th{background:var(--color-primary);color:white;font-weight:600}.pricing-table tbody tr:hover{background:var(--color-gray-50)}.pricing-table tbody tr:last-child td{border-bottom:none}.pricing-table td:first-child{display:flex;align-items:center;gap:.5rem}.pricing-icon{font-size:1.25rem}.pricing-unit{color:var(--color-gray-500);font-size:.875rem}.pricing-table .price{font-weight:700;color:var(--color-primary);white-space:nowrap}.pricing-note{margin-top:1rem;font-size:.875rem;color:var(--color-gray-500)}.opening-hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.opening-hours-card{background:white;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);text-align:center}.opening-hours-icon{font-size:2rem;margin-bottom:.75rem}.opening-hours-label{font-size:.875rem;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.opening-hours-value{font-size:1.125rem;font-weight:600;color:var(--color-gray-900);margin:0}.opening-hours-yearround{color:var(--color-success)}.opening-hours-note{margin:.5rem 0 0;font-size:.875rem;color:var(--color-gray-600)}.ratings-display{display:flex;flex-wrap:wrap;gap:1rem}.rating-card{background:white;border-radius:var(--radius);padding:1.25rem;min-width:140px;box-shadow:var(--shadow);text-align:center;border-top:3px solid var(--rating-color,var(--color-primary))}.rating-source{font-size:.75rem;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.rating-score{font-size:1.5rem;font-weight:700;color:var(--color-gray-900)}.rating-link{display:block;margin-top:.75rem;font-size:.75rem;color:var(--color-primary)}.gallery-grid{display:grid;gap:.75rem}.gallery-cols-3{grid-template-columns:repeat(3,1fr)}.gallery-cols-4{grid-template-columns:repeat(4,1fr)}.gallery-cols-5{grid-template-columns:repeat(5,1fr)}@media (max-width:1024px){.gallery-cols-5{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.gallery-cols-4,.gallery-cols-5{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.gallery-cols-3,.gallery-cols-4,.gallery-cols-5{grid-template-columns:repeat(2,1fr)}}.gallery-item{aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);cursor:pointer;position:relative;border:none;padding:0;background:var(--color-gray-200)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background .3s}.gallery-item:hover .gallery-item-overlay{background:rgba(0,0,0,.3)}.gallery-item-zoom{font-size:2rem;opacity:0;transform:scale(.8);transition:opacity .3s,transform .3s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.gallery-item:hover .gallery-item-zoom{opacity:1;transform:scale(1)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:300;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:transparent;border:none;color:white;font-size:3rem;cursor:pointer;padding:.5rem;line-height:1;opacity:.7;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:white;font-size:3rem;padding:1rem 1.5rem;cursor:pointer;opacity:.7;transition:opacity .2s,background .2s}.lightbox-nav:hover{opacity:1;background:rgba(255,255,255,.2)}.lightbox-prev{left:0;border-radius:0 var(--radius) var(--radius) 0}.lightbox-next{right:0;border-radius:var(--radius) 0 0 var(--radius)}.lightbox-content{max-width:90vw;max-height:80vh;display:flex;flex-direction:column;align-items:center}.lightbox-image{max-width:100%;max-height:75vh;object-fit:contain;border-radius:var(--radius)}.lightbox-caption{margin-top:1rem;color:white;font-size:.9rem;text-align:center;opacity:.9}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:white;font-size:.875rem;opacity:.7}.campsite-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.map-container{height:400px;width:100%}.map-actions{display:flex;gap:.75rem;padding:1rem;background:white;border-top:1px solid var(--color-gray-200)}.map-loading,.map-placeholder{height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-gray-100);border-radius:var(--radius);color:var(--color-gray-500)}.map-placeholder-icon{font-size:3rem;margin-bottom:1rem}.map-loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(1turn)}}.site-footer-campsite{background:var(--color-gray-900);color:white;padding:4rem 0 0;margin-top:auto}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1)}.footer-section{display:flex;flex-direction:column}.footer-title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:white}.footer-subtitle{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--color-gray-300)}.footer-address{font-style:normal;gap:.25rem;color:var(--color-gray-400)}.footer-address,.footer-contact{display:flex;flex-direction:column}.footer-contact{gap:.5rem}.footer-link{color:var(--color-gray-400);text-decoration:none;transition:color .2s}.footer-link:hover{color:white}.footer-social{display:flex;flex-wrap:wrap;gap:.75rem}.footer-social-link{color:var(--color-gray-400);text-decoration:none;transition:color .2s}.footer-social-link:hover{color:white}.footer-text{color:var(--color-gray-400);margin:0 0 .5rem;font-size:.9rem}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0}.footer-copyright{color:var(--color-gray-500);font-size:.875rem;margin:0}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:var(--color-gray-500);font-size:.875rem;text-decoration:none}.footer-legal a:hover{color:white}.quick-info-bar{padding:1.5rem;background:white;border-bottom:1px solid var(--color-gray-200);align-items:center;justify-content:space-between}.quick-info-bar,.quick-info-items{display:flex;flex-wrap:wrap;gap:2rem}.quick-info-item{display:flex;align-items:center;gap:.5rem;color:var(--color-gray-600);font-size:.9rem}.quick-info-item a{color:var(--color-gray-700)}.quick-info-actions{display:flex;gap:.75rem;align-items:center}.booking-cta{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary,var(--color-accent)));border-radius:var(--radius-lg);color:white}.booking-cta-title{margin:0 0 .5rem;font-size:2rem;font-weight:700}.booking-cta-subtitle{margin:0 0 1.5rem;opacity:.9}.booking-cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.booking-cta .btn-primary{background:white;color:var(--color-primary)}.booking-cta .btn-primary:hover{background:var(--color-gray-100)}.booking-cta .btn-secondary{background:rgba(255,255,255,.2);color:white;border:2px solid white}.booking-cta .btn-secondary:hover{background:rgba(255,255,255,.3)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-block{display:block;width:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}@media (max-width:768px){.hero{min-height:300px}.hero-overlay{padding:2rem 1rem 1.5rem}.section{padding:2.5rem 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.quick-info-bar{flex-direction:column;align-items:flex-start;gap:1rem}.quick-info-items{gap:1rem}.booking-cta{padding:2.5rem 1.5rem}.booking-cta-title{font-size:1.5rem}}.landing-page{min-height:100vh;display:flex;flex-direction:column}.landing-hero{min-height:80vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);color:white;padding:4rem 2rem;position:relative;overflow:hidden}.landing-hero-content{text-align:center;max-width:700px;position:relative;z-index:1}.landing-hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;margin:0 0 1.5rem;line-height:1.1}.landing-hero-highlight{color:var(--color-warning)}.landing-hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);opacity:.9;margin:0 0 2rem;line-height:1.6}.landing-hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.landing-hero-decoration{position:absolute;bottom:-20%;right:-10%;font-size:40vw;opacity:.1;pointer-events:none}.landing-features{padding:6rem 0;background:white}.landing-section-title{text-align:center;font-size:2rem;font-weight:700;margin:0 0 .75rem;color:var(--color-gray-900)}.landing-section-subtitle{text-align:center;color:var(--color-gray-600);max-width:600px;margin:0 auto 3rem}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.landing-feature-card{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:2rem;text-align:center;transition:transform .2s,box-shadow .2s}.landing-feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.landing-feature-icon{font-size:3rem;display:block;margin-bottom:1rem}.landing-feature-card h3{font-size:1.25rem;margin:0 0 .75rem;color:var(--color-gray-900)}.landing-feature-card p{margin:0;color:var(--color-gray-600);font-size:.95rem}.landing-campsites{padding:6rem 0;background:var(--color-gray-50)}.landing-campsites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.landing-campsite-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:block}.landing-campsite-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);text-decoration:none}.landing-campsite-image{height:180px;background:var(--color-gray-200);overflow:hidden}.landing-campsite-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.landing-campsite-card:hover .landing-campsite-image img{transform:scale(1.05)}.landing-campsite-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,var(--color-gray-100),var(--color-gray-200))}.landing-campsite-info{padding:1.25rem}.landing-campsite-info h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--color-gray-900)}.landing-campsite-location{margin:0;font-size:.9rem;color:var(--color-gray-600)}.landing-campsites-cta{text-align:center}.landing-footer{background:var(--color-gray-900);color:white;padding:3rem 0 1.5rem;margin-top:auto}.landing-footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.landing-footer-brand{max-width:300px}.landing-footer-logo{font-size:1.5rem;font-weight:700;display:block;margin-bottom:.75rem}.landing-footer-brand p{color:var(--color-gray-400);font-size:.9rem;margin:0}.landing-footer-links{display:flex;gap:2rem}.landing-footer-links a{color:var(--color-gray-400);text-decoration:none}.landing-footer-links a:hover{color:white}.landing-footer-copyright{color:var(--color-gray-500);font-size:.875rem;margin:0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.btn-lg{padding:1rem 2rem;font-size:1rem}@media (max-width:768px){.landing-hero{min-height:60vh;padding:3rem 1.5rem}.landing-campsites,.landing-features{padding:4rem 0}.landing-footer-content{flex-direction:column}}.campsites-page{min-height:100vh;display:flex;flex-direction:column}.list-header{background:white;border-bottom:1px solid var(--color-gray-200);padding:1rem 0;position:sticky;top:0;z-index:100}.list-header .container{display:flex;justify-content:space-between;align-items:center}.list-logo{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.list-logo,.list-logo:hover{text-decoration:none}.list-nav{display:flex;gap:1.5rem}.list-nav a{color:var(--color-gray-600);font-weight:500;text-decoration:none}.list-nav a:hover{color:var(--color-primary)}.list-main{flex:1;padding:3rem 0;background:var(--color-gray-50)}.list-header-content{margin-bottom:2rem}.list-header-content h1{margin:0 0 .5rem;font-size:2rem;color:var(--color-gray-900)}.list-header-content p{margin:0;color:var(--color-gray-600)}.list-empty{text-align:center;padding:4rem 2rem;background:white;border-radius:var(--radius);box-shadow:var(--shadow)}.list-empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.list-empty p{font-size:1.25rem;color:var(--color-gray-500);margin:0}.list-footer{background:var(--color-gray-900);color:var(--color-gray-400);padding:1.5rem 0;margin-top:auto}.list-footer p{margin:0;font-size:.875rem;text-align:center}