:root {
 --accent: #0d6efd;
 --card-radius: 14px;
 --shadow: 0 10px 30px rgba(18,20,30,0.07);
}

body {
 background:#f8fafc;
 color:#0b1221;
 font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Search Bar */
.search-bar .form-control {border-radius: 10px 0 0 10px;}
.search-bar .btn {border-radius: 0 10px 10px 0;}

/* Cards */
.card-sight {
 border: none;
 border-radius: var(--card-radius);
 overflow: hidden;
 box-shadow: var(--shadow);
 transition: transform .28s ease, box-shadow .28s ease;
}
.card-sight h1{
font-size: 1.3rem;
font-weight: 400;
}
.card-sight:hover {
 transform: translateY(-6px);
 box-shadow: 0 20px 35px rgba(11,15,25,0.08);
}
.sight-img {
 height:210px;
 object-fit:cover;
 width:100%;
}
@media (min-width:1200px){
 .sight-img {height:240px;}
}

/* Filters */
.filters {
 display: flex;
 overflow-x: auto;
 flex-wrap: nowrap;
 gap: .5rem;
 -webkit-overflow-scrolling: touch;
 scrollbar-width: none; /* Firefox */
}
.filters::-webkit-scrollbar { display: none; }


/* Mobile improvements */
@media (max-width: 767px) {
 .filters {
 padding-bottom: .25rem;
 margin-bottom: .5rem;
 }
 .filters .btn {
 font-size: 0.85rem;
 padding: .35rem .75rem;
 }
}

#filterDropdown {
 border-radius: 10px;
 padding: .5rem 1rem;
 font-size: 1rem;
 box-shadow: var(--shadow);
 border: 1px solid rgba(13,110,253,0.25);
}
#filterDropdown:focus {
 border-color: var(--accent);
 box-shadow: 0 0 0 0.2rem rgba(13,110,253,.25);
}