@import url(https://fonts.googleapis.com/css2?family=Rubik:ital@0;1&family=Sniglet&display=swap);a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,main,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}[hidden]{display:none}body{line-height:1}menu,ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}.active-link{background-color:#28190e;border-radius:5px;box-shadow:0 0 3px #1a3220;padding:5px}button{font-family:Rubik;font-size:16px;padding:3px}button:hover{cursor:pointer}body,html{height:100%;margin:0;width:100%}.App{display:flex;height:100vh}a{text-decoration:none}header h1{font-family:Sniglet,cursive;font-size:2.2rem;line-height:1.4}body{background:linear-gradient(#b1c5e7,#633c67);font-family:Rubik,sans-serif}#header{align-items:center;background-color:#2a5033;box-shadow:0 0 4px #1a3220;display:flex;height:3rem;justify-content:space-between;padding:0 30px;position:relative;width:100vw;z-index:1000}#header,#header a{color:#eaede9}#header ul{display:flex;font-size:18px;list-style:none}#header li{margin-right:15px;padding:5px}.hamburger{background:transparent;border:none;cursor:pointer;display:none;flex-direction:column;height:25px;justify-content:space-around;padding:0;width:30px;z-index:1001}.hamburger span{background-color:#eaede9;border-radius:10px;height:3px;-webkit-transform-origin:center;transform-origin:center;transition:all .3s ease-in-out;width:30px}.hamburger.active span:first-child{-webkit-transform:rotate(45deg) translate(7px,7px);transform:rotate(45deg) translate(7px,7px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(7px,-7px);transform:rotate(-45deg) translate(7px,-7px)}footer{align-items:center;background-color:#28190e;bottom:0;box-shadow:-2px 0 4px #28190e;display:flex;height:3rem;justify-content:space-around;left:0;position:fixed;width:100%}footer,footer a{color:#eaede9}.bug-form{display:flex;flex-direction:column;padding:20px;width:300px}@media (max-width:968px){#header{padding:10px 15px}#header h1{font-size:1.5rem;margin:0}.hamburger{display:flex}.navigation{background-color:#2a5033;box-shadow:0 4px 8px rgba(0,0,0,.2);flex-direction:column;left:0;margin:0;max-height:0;overflow:hidden;padding:0;position:fixed;right:0;top:3rem;transition:max-height .3s ease-in-out}.navigation.mobile-open{max-height:500px}#header ul{display:flex}#header li{border-bottom:1px solid rgba(234,237,233,.2);margin:0;text-align:center;width:100%}#header li a{display:block;padding:15px 20px;width:100%}#header li:last-child{border-bottom:none}footer{flex-direction:column;height:auto;padding:10px;text-align:center}.bug-form{max-width:300px;width:90%}}.bug-form{background-color:#eaede9;border-radius:5px;box-shadow:0 0 5px -2px #1a3220;color:#28190e;left:50%;margin-left:-150px;margin-top:-150px;position:fixed;top:50%}.bug-form label{margin:5px}.bug-form h2{font-size:24px;text-align:center}.bug-form input[type=submit]{font-family:Rubik,sans-serif;font-size:16px;margin:10px 0;padding:3px}.photo-uploader{margin:20px 0}.upload-error{background-color:#fee;border-radius:4px;color:#c00;margin-bottom:15px;padding:10px;text-align:center}.upload-dropzone{background-color:#fafafa;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:40px 20px;text-align:center;transition:all .3s ease}.upload-dropzone.drag-active,.upload-dropzone:hover{background-color:#f0f8f0;border-color:#4caf50}.upload-icon{font-size:48px;margin-bottom:10px}.upload-dropzone p{color:#666;margin:5px 0}.upload-hint{color:#999;font-size:12px}.upload-limit-reached{background-color:#f5f5f5;border-radius:8px;color:#666;padding:20px;text-align:center}.upload-preview{align-items:center;display:flex;flex-direction:column;gap:15px}.upload-preview img{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);max-height:400px;max-width:100%}.upload-actions{display:flex;gap:10px}.cancel-button,.upload-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.upload-button{background-color:#4caf50;color:#fff}.upload-button:hover:not(:disabled){background-color:#45a049}.upload-button:disabled{background-color:#ccc;cursor:not-allowed}.cancel-button{background-color:#f44336;color:#fff}.cancel-button:hover:not(:disabled){background-color:#da190b}.no-photos{color:#999;font-style:italic;padding:40px 20px;text-align:center}.photo-gallery{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:20px 0}.photo-thumbnail-container{aspect-ratio:1;background-color:#f0f0f0;border-radius:8px;overflow:hidden;position:relative}.photo-thumbnail{cursor:pointer;height:100%;object-fit:cover;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease;width:100%}.photo-thumbnail:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.delete-photo-button{align-items:center;background-color:rgba(244,67,54,.9);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;line-height:1;opacity:0;position:absolute;right:5px;top:5px;transition:all .2s ease;width:28px}.photo-thumbnail-container:hover .delete-photo-button{opacity:1}.delete-photo-button:hover:not(:disabled){background-color:rgba(211,47,47,.95);-webkit-transform:scale(1.1);transform:scale(1.1)}.delete-photo-button:disabled{cursor:not-allowed;opacity:.5}.lightbox{align-items:center;-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease;background-color:rgba(0,0,0,.95);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{align-items:center;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}.lightbox-image{border-radius:4px;max-height:85vh;max-width:100%;object-fit:contain}.lightbox-close,.lightbox-next,.lightbox-prev{background-color:hsla(0,0%,100%,.2);border:none;color:#fff;cursor:pointer;font-size:32px;padding:10px 15px;position:fixed;transition:background-color .2s ease;z-index:10001}.lightbox-close:hover,.lightbox-next:hover,.lightbox-prev:hover{background-color:hsla(0,0%,100%,.3)}.lightbox-close{align-items:center;border-radius:50%;display:flex;height:50px;justify-content:center;line-height:1;right:20px;top:20px;width:50px}.lightbox-prev{left:20px}.lightbox-next,.lightbox-prev{border-radius:4px;font-size:48px;padding:10px 20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.lightbox-next{right:20px}.lightbox-counter{color:#fff;font-size:14px;margin-top:15px;text-align:center}@media (max-width:768px){.photo-gallery{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.lightbox-next,.lightbox-prev{font-size:32px;padding:5px;width:40px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{font-size:24px;height:40px;right:10px;top:10px;width:40px}}.campsite-form-container{margin:0 auto;max-width:800px;padding:20px}.campsite-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:30px}.campsite-form h2{color:#333;margin-bottom:20px;margin-top:0}.campsite-form h3{border-top:1px solid #eee;color:#555;margin-bottom:15px;margin-top:30px;padding-top:20px}.form-error{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c00;padding:12px;text-align:center}.form-error,.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{min-height:100px;resize:vertical}.form-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:25px;padding-top:20px}.cancel-button,.save-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.save-button{background-color:#4caf50;color:#fff;flex:1 1}.save-button:hover:not(:disabled){background-color:#45a049}.save-button:disabled{background-color:#ccc;cursor:not-allowed}.cancel-button{background-color:#f5f5f5;color:#666}.cancel-button:hover:not(:disabled){background-color:#e5e5e5}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.photo-section{margin-top:20px}.photo-restriction-notice{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:14px;margin-bottom:15px;padding:12px}@media (max-width:768px){.campsite-form-container{padding:10px}.campsite-form{padding:20px}.form-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}.modal{align-items:center;background-color:rgba(0,0,0,.4);display:flex;grid-column:1/4;grid-row:2/5;justify-content:center;z-index:1}.modal-card p{margin:2px 0}.modal-card h2{font-size:30px;margin-bottom:20px}.modal-card input{margin-top:10px}.esri-popup__header{font-size:16px}.modal-card textarea{margin-top:10px;width:300px}textarea{font-family:Rubik;font-size:16px;height:100px}.modal-card label{margin-top:15px}.modal-card{align-items:center;background-color:#eaede9;border-radius:8px;box-shadow:0 0 8px -2px #1a3220;display:flex;flex-direction:column;justify-content:center;padding:30px;z-index:2}.modal-card img{background-color:skyblue;border-radius:50%;margin:15px}.five-day-forecast{display:flex}.day{padding:10px}.day img{height:30px;margin:5px}.card-buttons,.favorite-buttons{display:flex;justify-content:space-between;width:100%}.favorite-buttons{margin-top:20px}.modal-card a{padding:6px}@media (max-width:768px){.modal-card{max-height:80vh;max-width:400px;overflow-y:auto;padding:20px;width:90%}.modal-card h2{font-size:24px}.modal-card textarea{width:100%}.five-day-forecast{flex-wrap:wrap;justify-content:center}.day{font-size:12px;padding:5px}.card-buttons{flex-direction:column;gap:10px}.card-buttons a,.card-buttons button{text-align:center;width:100%}.favorite-buttons{flex-direction:column;gap:10px}.favorite-buttons button{width:100%}}.map-page{display:grid;grid-template-columns:3% auto 3%;grid-template-rows:3rem 2.5rem auto 1.5rem 3rem;height:100%;width:100%}.map-instructions{align-self:center;grid-column-start:2;grid-row-start:2}.esri-view-surface{border-radius:5px;box-shadow:0 0 3px #28190e}.esri-attribution__powered-by,.esri-attribution__sources{display:none}.map-page-map{grid-column:2;grid-row:3;height:auto;width:auto}.error,.loading{grid-column:2;grid-row:3;padding:20px;text-align:center}@media (max-width:768px){.map-page{grid-template-columns:2% auto 2%}.map-instructions{font-size:14px;padding:5px}}.home-page{align-items:center;background-image:linear-gradient(hsla(0,0%,100%,.4),hsla(0,0%,100%,.4)),url(https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2700&q=80);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;flex-direction:column;height:100vh;justify-content:center;width:100vw}.home-page h1{color:#2a5033;font-family:Sniglet;font-size:120px;margin-bottom:150px;text-shadow:0 0 2px #28190e}.home-page-buttons{display:flex;justify-content:space-between;width:400px}.home-page-buttons a{background-color:#eaede9;border-radius:5px;box-shadow:0 0 4px #28190e;color:#28190e;font-size:30px;padding:10px;text-decoration:none}@media (max-width:768px){.home-page h1{font-size:60px;margin-bottom:80px}.home-page-buttons{flex-direction:column;gap:20px;width:90%}.home-page-buttons a{font-size:24px;text-align:center;width:100%}}.about-page{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh;width:100%}.about-content{background-color:#fff;margin:0 auto;max-width:1200px;padding:40px 20px;width:100%}.intro-with-image{align-items:flex-start;display:flex;gap:30px;margin-bottom:40px}.intro-with-image img{border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1);flex-shrink:0;height:250px;object-fit:cover;width:250px}.intro-text{flex:1 1}.intro-text h2{color:#2c5530;font-size:2rem;margin-bottom:15px;margin-top:0}.intro-text p{color:#333;font-size:1.1rem;line-height:1.8}.about-content section{margin-bottom:40px}.about-content h2{border-bottom:3px solid #2c5530;color:#2c5530;font-size:2rem;margin-bottom:20px;padding-bottom:10px}.about-content p{color:#333;font-size:1.1rem;line-height:1.8;margin-bottom:15px}.about-content ul{list-style:none;padding-left:0}.about-content ul li{background-color:#f8f9fa;border-left:4px solid #2c5530;margin-bottom:10px;padding:10px 0 10px 20px}.about-content ul li strong{color:#2c5530}.responsible-camping{background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;padding:20px}.responsible-camping h2{border-bottom-color:#ffc107}@media (max-width:768px){.about-content{padding:20px 15px}.intro-with-image{align-items:center;flex-direction:column}.intro-with-image img{height:auto;max-width:300px;width:100%}.about-content h2,.intro-text h2{font-size:1.5rem}.about-content p,.intro-text p{font-size:1rem}.about-content ul li{font-size:.95rem}}.share-button{align-items:center;background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s ease}.share-button:hover{background-color:#1976d2;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.share-button:active{-webkit-transform:translateY(0);transform:translateY(0)}.share-button:has(:contains("✓")){background-color:#4caf50}.my-campsites{display:flex;flex-direction:column;min-height:100vh}.campsites-container{flex:1 1;margin:0 auto;max-width:1200px;padding:20px;width:100%}.campsites-container h1{color:#333;margin-bottom:30px}.auth-required{padding:60px 20px;text-align:center}.auth-required h2{color:#666}.loading-message{color:#666;padding:40px;text-align:center}.empty-state{color:#666;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin:10px 0}.campsites-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.campsite-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:20px;transition:box-shadow .2s ease}.campsite-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.campsite-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.campsite-header h3{color:#333;flex:1 1;margin:0}.visibility-badge{white-space:nowrap}.campsite-location{color:#666;font-size:14px;margin-bottom:10px}.campsite-description{color:#555;line-height:1.5;margin:15px 0;max-height:4.5em;overflow:hidden;text-overflow:ellipsis}.campsite-photos{margin:15px 0}.campsite-rating{color:#666;font-size:14px;margin:10px 0}.campsite-share{border-bottom:1px solid #eee;margin:15px 0;padding-bottom:15px}.campsite-actions{border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;padding-top:15px}.campsite-actions a,.campsite-actions button{border:none;border-radius:4px;cursor:pointer;display:inline-block;font-size:13px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s ease}.view-button{background-color:#9c27b0;color:#fff}.view-button:hover{background-color:#7b1fa2}.edit-button{background-color:#4caf50;color:#fff}.edit-button:hover{background-color:#45a049}.details-button{background-color:#2196f3;color:#fff}.details-button:hover{background-color:#1976d2}.delete-button{background-color:#f44336;color:#fff;margin-left:auto}.delete-button:hover{background-color:#da190b}.campsite-details{border-top:1px solid #eee;color:#666;font-size:14px;margin-top:15px;padding-top:15px}.detail-row{margin:8px 0}.detail-row strong{color:#333;margin-right:8px}@media (max-width:768px){.campsites-list{grid-template-columns:1fr}.campsite-actions{flex-direction:column}.campsite-actions a,.campsite-actions button{text-align:center;width:100%}.delete-button{margin-left:0}}.star-rating{align-items:center;display:inline-flex;gap:4px}.star{color:#ddd;transition:color .2s ease;-webkit-user-select:none;-ms-user-select:none;user-select:none}.star.filled{color:gold}.star-rating.interactive .star{cursor:pointer}.star-rating.interactive .star:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}.rating-value{color:#666;font-size:14px;font-weight:500;margin-left:8px}.star-rating.interactive .star:focus{border-radius:2px;outline:2px solid #4caf50;outline-offset:2px}.review-form{background:#f9f9f9;border-radius:8px;margin:20px 0;padding:20px}.review-form h3{color:#333;margin-bottom:20px;margin-top:0}.review-form-error{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c00;margin-bottom:15px;padding:10px;text-align:center}.review-form .form-group{margin-bottom:20px}.review-form .form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.review-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;resize:vertical;transition:border-color .2s ease;width:100%}.review-form textarea:focus{border-color:#4caf50;outline:none}.review-form textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.character-count{color:#999;font-size:12px;margin-top:4px;text-align:right}.anonymous-notice{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;color:#1565c0;font-size:13px;margin-bottom:15px;padding:10px}.review-form .form-actions{display:flex;gap:10px;margin-top:20px}.review-form .cancel-button,.review-form .submit-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.review-form .submit-button{background-color:#4caf50;color:#fff;flex:1 1}.review-form .submit-button:hover:not(:disabled){background-color:#45a049}.review-form .submit-button:disabled{background-color:#ccc;cursor:not-allowed}.review-form .cancel-button{background-color:#f5f5f5;color:#666}.review-form .cancel-button:hover:not(:disabled){background-color:#e5e5e5}.review-form .cancel-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.review-form{padding:15px}.review-form .form-actions{flex-direction:column}.review-form .cancel-button,.review-form .submit-button{width:100%}}.review-list{margin:30px 0}.review-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.review-list-header h3{color:#333;margin:0}.sort-controls{align-items:center;display:flex;gap:8px}.sort-controls label{color:#666;font-size:14px}.sort-controls select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px}.review-list-error{background-color:#fee;border-radius:4px;color:#c00;margin-bottom:15px;padding:12px;text-align:center}.loading-reviews,.no-reviews{color:#666;padding:40px 20px;text-align:center}.reviews{display:flex;flex-direction:column;gap:16px}.review-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:box-shadow .2s ease}.review-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.review-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.review-author{display:flex;flex-direction:column;gap:6px}.review-author strong{color:#333;font-size:15px}.review-date{color:#999;font-size:13px;white-space:nowrap}.review-comment{word-wrap:break-word;color:#555;line-height:1.6;margin-bottom:12px;white-space:pre-wrap}.review-actions{display:flex;flex-wrap:wrap;gap:8px}.delete-review-button,.edit-review-button,.flag-review-button{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s ease}.edit-review-button{background-color:#2196f3;color:#fff}.edit-review-button:hover{background-color:#1976d2}.delete-review-button{background-color:#f44336;color:#fff}.delete-review-button:hover{background-color:#da190b}.flag-review-button{background-color:#ffc107;color:#333}.flag-review-button:hover{background-color:#ffa000}.flag-notice{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:12px;margin-top:12px;padding:8px}.load-more-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:14px;font-weight:500;margin:20px auto 0;padding:10px 24px;transition:all .2s ease}.load-more-button:hover:not(:disabled){background-color:#45a049}.load-more-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.review-list-header{align-items:flex-start;flex-direction:column}.sort-controls{justify-content:space-between;width:100%}.review-header{flex-direction:column}.review-date{align-self:flex-start}.review-actions{width:100%}.delete-review-button,.edit-review-button,.flag-review-button{flex:1 1;text-align:center}}.campsite-detail{display:flex;flex-direction:column;min-height:100vh}.detail-container{flex:1 1;margin:0 auto;max-width:900px;padding:20px;width:100%}.error-detail,.loading-detail{padding:60px 20px;text-align:center}.error-detail h2{color:#666;margin-bottom:20px}.error-detail button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.error-detail button:hover{background-color:#45a049}.detail-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.detail-header h1{color:#333;margin:0 0 10px}.header-badges{align-items:center}.header-actions,.header-badges{display:flex;flex-wrap:wrap;gap:10px}.unlisted-notice{color:#666;font-size:13px;font-style:italic;font-weight:400}.visibility-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.badge-private{background-color:#ffeaa7;color:#856404}.badge-unlisted{background-color:#dfe6e9;color:#2d3436}.badge-public{background-color:#d4edda;color:#155724}.edit-campsite-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease;white-space:nowrap}.edit-campsite-button:hover{background-color:#1976d2}.detail-location{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:15px;gap:15px;margin-bottom:15px}.directions-link{background-color:#ff9800;border-radius:4px;color:#fff;font-size:13px;padding:6px 12px;text-decoration:none;transition:background-color .2s ease}.directions-link:hover{background-color:#f57c00}.detail-rating{align-items:center;border-bottom:1px solid #eee;display:flex;gap:10px;margin-bottom:25px;padding-bottom:25px}.review-count{color:#666;font-size:14px}.detail-description{margin-bottom:30px}.detail-description h2{color:#333;font-size:20px;margin-bottom:15px}.detail-description p{word-wrap:break-word;color:#555;line-height:1.6;white-space:pre-wrap}.detail-photos{margin-bottom:40px}.detail-photos h2{color:#333;font-size:20px;margin-bottom:15px}.detail-reviews{border-top:2px solid #eee;margin-top:40px;padding-top:40px}.reviews-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.reviews-header h2{color:#333;font-size:20px;margin:0}.add-review-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.add-review-button:hover{background-color:#45a049}@media (max-width:768px){.detail-container{padding:15px}.detail-header{flex-direction:column}.detail-header h1{font-size:24px}.header-actions{flex-direction:column;width:100%}.edit-campsite-button,.header-actions>*{width:100%}.detail-location{align-items:flex-start;flex-direction:column}.directions-link{text-align:center;width:100%}.reviews-header{align-items:flex-start;flex-direction:column}.add-review-button{width:100%}}.search-page{display:flex;flex-direction:column;min-height:100vh}.search-container{flex:1 1;margin:0 auto;max-width:1200px;padding:20px;width:100%}.search-container h1{color:#333;margin-bottom:30px}.search-filters{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:30px;padding:20px}.filter-group{margin-bottom:20px}.filter-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.filter-group input[type=number],.filter-group input[type=text],.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;transition:border-color .2s ease;width:100%}.filter-group input:focus,.filter-group select:focus{border-color:#4caf50;outline:none}.location-group .location-inputs{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr auto}.location-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 16px;transition:background-color .2s ease;white-space:nowrap}.location-button:hover{background-color:#1976d2}.filter-group input[type=range]{width:100%}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.filter-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:25px;padding-top:20px}.clear-button,.search-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.search-button{background-color:#4caf50;color:#fff;flex:1 1}.search-button:hover:not(:disabled){background-color:#45a049}.search-button:disabled{background-color:#ccc;cursor:not-allowed}.clear-button{background-color:#f5f5f5;color:#666}.clear-button:hover{background-color:#e5e5e5}.search-results{min-height:200px}.error-message{background-color:#fee;border-radius:8px;color:#c00;margin-bottom:20px;padding:15px;text-align:center}.loading-message,.no-results{color:#666;padding:60px 20px;text-align:center}.results-count{color:#666;font-size:15px;margin-bottom:20px}.results-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.campsite-result-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;overflow:hidden;transition:all .3s ease}.campsite-result-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.result-photo{background-color:#f0f0f0;height:200px;overflow:hidden;width:100%}.result-photo img{height:100%;object-fit:cover;width:100%}.result-content{padding:16px}.result-content h3{color:#333;font-size:18px;margin:0 0 10px}.result-rating{align-items:center;display:flex;gap:8px;margin-bottom:10px}.result-rating .review-count{color:#999;font-size:13px}.result-description{color:#666;font-size:14px;line-height:1.5;margin:10px 0}.result-meta{border-top:1px solid #eee;color:#999;font-size:13px;margin-top:12px;padding-top:12px}.result-meta .distance{color:#2196f3;font-weight:500}@media (max-width:768px){.search-container,.search-filters{padding:15px}.location-group .location-inputs{grid-template-columns:1fr}.filter-actions{flex-direction:column}.clear-button,.search-button{width:100%}.results-grid{gap:15px;grid-template-columns:1fr}.result-photo{height:180px}}.form-page{align-items:center}.form-container,.form-page{display:flex;flex-direction:column}.form-container{background-color:#eaede9;border-radius:5px;box-shadow:0 0 5px -2px #1a3220;margin-top:6rem;padding:30px;width:500px}.sign-in{display:flex;flex-direction:column}.form-container h2{font-size:30px;text-align:center}.form-container label{margin:10px 0}.form-container input{border:none;border-radius:5px;box-shadow:0 0 4px -1px #1a3220;font-family:Rubik;font-size:16px;padding:5px}.form-container input[type=submit]{background-color:#2a5033;color:#eaede9;margin:8px auto;padding:8px 20px}.form-container button{background-color:#2a5033;border:none;border-radius:5px;box-shadow:0 0 4px -1px #1a3220;color:#eaede9;padding:8px}.toggler{align-items:center;display:flex;justify-content:space-around}.error-message{color:red;padding:5px 0}@media (max-width:768px){.form-container{margin-top:4rem;padding:20px;width:90%}.form-container h2{font-size:24px}.toggler{flex-direction:column;gap:10px}.toggler button{width:100%}}.user-profile-page{display:flex;flex-direction:column;min-height:100vh}.profile-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1 1;margin:2rem auto;max-width:800px;padding:2rem}.profile-container h2{color:#2c5530;font-size:2rem;margin-bottom:2rem}.profile-container h3{border-top:1px solid #e0e0e0;color:#2c5530;font-size:1.5rem;margin:2rem 0 1rem;padding-top:2rem}.message{border-radius:4px;font-weight:500;margin-bottom:1.5rem;padding:1rem}.message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.profile-info{display:flex;flex-direction:column;gap:1.5rem}.info-row{grid-gap:1rem;align-items:center;background:#f8f9fa;border-radius:4px;display:grid;gap:1rem;grid-template-columns:180px 1fr auto;padding:1rem}.info-row label{color:#555;font-weight:600}.info-row span{color:#333}.info-row span.user-id{font-family:monospace;font-size:.9rem;word-break:break-all}.info-row em{color:#999}.edit-form{align-items:center;display:flex;flex:1 1;gap:1rem}.edit-form input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:1rem;padding:.5rem}.button-group{display:flex;gap:.5rem}.button-group button,.cancel-btn,.edit-btn{border:none;border-radius:4px;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.edit-btn{background-color:#2c5530;color:#fff}.edit-btn:hover{background-color:#1e3a20}.button-group button[type=submit]{background-color:#28a745;color:#fff}.button-group button[type=submit]:hover:not(:disabled){background-color:#218838}.cancel-btn{background-color:#6c757d;color:#fff}.cancel-btn:hover:not(:disabled){background-color:#5a6268}button:disabled{cursor:not-allowed;opacity:.6}.profile-stats{margin-top:2rem}.profile-stats .note{color:#666;font-style:italic;margin:.5rem 0}@media (max-width:768px){.profile-container{margin:1rem;padding:1.5rem}.profile-container h2{font-size:1.5rem}.info-row{gap:.5rem;grid-template-columns:1fr}.info-row label{font-size:.9rem}.edit-form{align-items:stretch}.button-group,.edit-form{flex-direction:column}.edit-btn{margin-top:.5rem}}
/*# sourceMappingURL=main.42b6556f.css.map*/