*{box-sizing:border-box;margin:0;padding:0}body{color:#2d2d2d;background:#f8f7f4;min-height:100vh;font-family:Segoe UI,system-ui,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.navbar{color:#fff;z-index:100;background:#7c3a00;padding:1rem 0;position:sticky;top:0;box-shadow:0 2px 8px #0003}.navbar-inner{justify-content:space-between;align-items:center;display:flex}.navbar-logo{align-items:center;gap:.5rem;font-size:1.4rem;font-weight:700;display:flex}.navbar-links{align-items:center;gap:1.5rem;display:flex}.navbar-links a,.navbar-links button{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;font-size:.95rem;transition:opacity .2s}.navbar-links a:hover,.navbar-links button:hover{opacity:1}.hero{color:#fff;text-align:center;background:linear-gradient(135deg,#7c3a00 0%,#d4660a 60%,#f4a261 100%);padding:8rem 0 7rem}.hero h1{margin-bottom:.75rem;font-size:2.5rem}.hero p{opacity:.85;font-size:1.15rem}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding:.5rem 0;display:grid}.card{cursor:pointer;background:#fff;border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 12px #00000014}.card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000021}.card-img{object-fit:cover;color:#aaa;background:#fdebd0;justify-content:center;align-items:center;width:100%;height:200px;font-size:3rem;display:flex}.card-img img{object-fit:cover;width:100%;height:100%}.card-body{padding:1.25rem}.card-title{margin-bottom:.3rem;font-size:1.2rem;font-weight:700}.card-meta{color:#777;gap:1rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.card-desc{color:#555;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.5;display:-webkit-box;overflow:hidden}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;transition:background .2s;display:inline-flex}.btn-primary{color:#fff;background:#d4660a}.btn-primary:hover{background:#7c3a00}.btn-secondary{color:#333;background:#eee}.btn-secondary:hover{background:#ddd}.btn-danger{color:#fff;background:#e63946}.btn-danger:hover{background:#c1121f}.form-group{margin-bottom:1.1rem}.form-group label{color:#444;margin-bottom:.35rem;font-size:.88rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{background:#fafafa;border:1.5px solid #ddd;border-radius:8px;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{background:#fff;border-color:#d4660a;outline:none}.form-group textarea{resize:vertical;min-height:100px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 60px #00000040}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-title{font-size:1.3rem;font-weight:700}.modal-close{cursor:pointer;color:#888;background:0 0;border:none;font-size:1.2rem}.modal-close:hover{color:#333}.section{padding:2.5rem 0}.section-title{margin-bottom:.5rem;font-size:1.6rem;font-weight:700}.section-subtitle{color:#666;margin-bottom:1.5rem}.hotel-item{background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem 1.25rem;display:flex;box-shadow:0 1px 6px #00000012}.hotel-info h3{font-size:1rem;font-weight:600}.hotel-info p{color:#666;font-size:.85rem}.hotel-stars{color:#f4a261;font-size:1rem}.auth-page{background:linear-gradient(135deg,#7c3a00,#f4a261);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-box{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 20px 60px #0003}.auth-box h2{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.auth-toggle{text-align:center;color:#666;margin-top:1rem;font-size:.9rem}.auth-toggle button{color:#d4660a;cursor:pointer;background:0 0;border:none;font-weight:600}.stars-input{gap:.3rem;display:flex}.stars-input button{cursor:pointer;color:#ddd;background:0 0;border:none;font-size:1.4rem}.stars-input button.active{color:#f4a261}.detail-hero{background:#fdebd0;border-radius:12px;justify-content:center;align-items:center;width:100%;height:350px;margin-bottom:1.5rem;font-size:5rem;display:flex;overflow:hidden}.detail-hero img{object-fit:cover;width:100%;height:100%}.tag{color:#7c3a00;background:#fde8d0;border-radius:20px;margin:.2rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:1rem;display:grid}.photo-grid img{object-fit:cover;cursor:pointer;border-radius:8px;width:100%;height:150px}.flex{display:flex}.gap-1{gap:.5rem}.gap-2{gap:1rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-2{margin-bottom:1rem}.text-center{text-align:center}.text-muted{color:#888}.w-full{width:100%}.error-msg{color:#e63946;margin-top:.5rem;font-size:.88rem}.success-msg{color:#d4660a;margin-top:.5rem;font-size:.88rem}
