:root{--primary:#1e40af;--accent:#ef4444;--dark:#0b132b;--white:#ffffff}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.hero{position:relative;min-height:calc(90vh + 50px);background-size:cover;background-position:center;background-attachment:fixed}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,64,175,.45),rgba(239,68,68,.35));pointer-events:none;z-index:1}
.hero .content{position:relative;z-index:2;color:#fff;padding:8rem 0 2rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:80vh}
.hero .search-wrap{width:1140px;max-width:90vw;margin: -110px auto 20px auto !important;background:rgba(255,255,255,.3);border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:.75rem 1rem .75rem;backdrop-filter:saturate(120%) blur(3px);position:relative;z-index:2}
.hero .search-wrap form{margin-bottom:0}
.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:#16339a;--bs-btn-hover-border-color:#16339a}
.btn-accent{background:var(--accent);color:#fff}
.category-icon{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid #eee;border-radius:8px;background:#fff}
.category-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border:1px solid #e6e6e6;border-radius:12px;background:#fff;text-align:center;gap:.5rem}
.category-pill i{font-size:1.4rem;color:var(--primary)}
.badge-accent{background:var(--accent);color:#fff}
.section-title{font-weight:700}
.ad-card{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;position:relative;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.ad-card .thumb{height:160px;background-size:cover;background-position:center}
.ad-card .thumb.large{height:220px}
.ad-card .label{position:absolute;top:10px;left:10px;padding:.25rem .5rem;border-radius:999px;font-size:.75rem}
.ad-card .meta{font-size:.9rem}
.ad-card.horizontal{display:flex;align-items:stretch;height:180px}
.ad-card.horizontal .thumb{width:180px;height:100%;background-size:cover;background-position:center}
.ad-card.horizontal .p-3{display:flex;flex-direction:column}
@media (max-width:576px){.ad-card.horizontal{height:160px}.ad-card.horizontal .thumb{width:140px}}
.reviews{overflow:hidden;position:relative}
.reviews-track{display:flex;gap:1rem;transition:transform .5s ease}
.review-item{flex:0 0 100%;border:1px solid #eee;border-radius:10px;padding:1rem;background:#fff}
@media (min-width:768px){.review-item{flex:0 0 calc((100% - 1rem)/2)}}
@media (min-width:992px){.review-item{flex:0 0 calc((100% - 2rem)/3)}}
.section-badge{display:inline-block;background:#fde8e8;color:var(--accent);border-radius:999px;padding:.35rem .75rem;font-weight:600;letter-spacing:.04em;font-size:.75rem}
.chip-accent-light{display:inline-block;background:#fde8e8;color:var(--accent);border-radius:999px;padding:.25rem .6rem;font-weight:600;letter-spacing:.02em;font-size:.75rem}
.chip-primary-light{display:inline-block;background:#eaf2ff;color:var(--primary);border-radius:999px;padding:.25rem .6rem;font-weight:600;letter-spacing:.02em;font-size:.75rem}
.stars .fa-star{color:#fbbf24;margin-right:2px}
.stars .fa-star-half-stroke{color:#fbbf24}
.carousel .review-item{height:100%}
.reviews{overflow:hidden;position:relative}
.reviews-track{display:flex;gap:1rem;transition:transform .6s ease;will-change:transform}
.testimonials h2,.container #testimonials h2{margin-bottom:35px}
.category-overlap{position:relative;z-index:3;margin-top:-45px}
.cat-card{background:#fff;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.08);padding:1rem;text-align:center;border:1px solid #f0f0f0}
.cat-card i{font-size:1.6rem;color:var(--primary)}
.cat-count{margin-top:.5rem;font-weight:600;background:#f8f9ff;color:#16339a;border-radius:999px;padding:.25rem .6rem;display:inline-block}
.cat-card{transition:transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease}
.cat-card:hover{background:var(--accent);color:#fff;transform:translateY(-8px);box-shadow:0 12px 28px rgba(239,68,68,.35);border-color:transparent}
.cat-card:hover i{color:#fff}
.cat-card:hover .cat-count{background:#fff;color:var(--accent)}
.navbar-floating{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:1140px;max-width:90vw;background:#fff;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.1);padding:0 1rem;z-index:10;min-height:85.5px;display:flex;align-items:center}
.search-wrap .input-group-text{background:transparent;border:0;color:#16339a}
.with-icon-right{position:relative}
.with-icon-right .form-control{padding-right:2.2rem}
.with-icon-right i{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);color:var(--primary);pointer-events:none}
.navbar-brand.brand-accent{color:var(--accent)!important}
.brand-primary{color:var(--primary)!important}
.navbar-nav.main-nav{gap:1.25rem}
.navbar-nav .nav-link{color:#0b132b}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{color:var(--accent)!important}
.brand-logo{height:48px;width:auto;display:block}
.home-section{margin-top:70px}
.mt-70{margin-top:70px}
.section-divider{border:0;border-top:2px solid #cbd5e1;margin-top:50px}
.btn-book-details{display:inline-flex;align-items:center;gap:.5rem;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;color:#fff}
.btn-book-details .fa-calendar-check{margin-left:0!important}
.features-list{display:flex;flex-wrap:wrap;gap:.5rem}
.feature-item{display:inline-flex;align-items:center;gap:.35rem;background:#f7f9fc;color:#0b132b;border-radius:999px;padding:.2rem .5rem;font-size:.85rem}
.btn-compact{font-size:.75rem;padding:.35rem .82rem;border-radius:999px}
.btn-wish{display:inline-flex;align-items:center;justify-content:center;background:#fff3e5;color:#F58608;border:0;width:28px;height:28px;padding:0;border-radius:50%}
.btn-wish:hover{background:#fde8e8;color:var(--accent)}
.attr-list{display:flex;flex-wrap:wrap;gap:.75rem;color:#6b7280;font-size:.85rem}
.attr-item{display:inline-flex;align-items:center;gap:.35rem}
.attr-item i{color:#6b7280}
.nearby-subheading{margin-bottom:30px}
.location-pin{color:var(--primary)}
.auth-block{max-width:380px;margin:0 auto}
.compact-inputs .form-control,
.compact-inputs .form-select{width:100%;font-size:.875rem;padding:.45rem .65rem}
.compact-inputs .mb-3{margin-bottom:1.25rem!important}
.compact-inputs .btn{width:100%}
.dash-sidemenu{background:#fff;border:1px solid #eee;border-radius:8px}
.dash-sidemenu .menu-section{padding:.75rem 1rem;font-weight:600;color:#6c757d}
.dash-sidemenu .list-group-item{border:0;border-left:3px solid transparent;border-radius:0;padding:.65rem 1rem;color:#0b132b;display:flex;align-items:center;gap:.6rem}
.dash-sidemenu .list-group-item i{width:1.1rem;text-align:center;color:#16339a}
.dash-sidemenu .list-group-item.active{background:#f5f8ff;color:#2f54eb;border-left-color:#2f54eb}
.dash-sidemenu .list-group-item.active i{color:#2f54eb}
.dash-sidemenu .list-group-item .badge{margin-left:auto}
.table-responsive{overflow:visible;border:0}
.table{border:0}
.table{--bs-table-border-color:#f3f4f6}
.table > :not(caption) > * > *{border-top-color:#f3f4f6!important}
.table thead th{border-bottom-color:#f3f4f6!important}
.table td,.table th{border-color:#f3f4f6!important}
.table tbody td,.table tbody th{border-top-color:#f3f4f6!important}
.table tfoot td,.table tfoot th{border-top-color:#f3f4f6!important}
.table-bordered{--bs-table-border-color:#f3f4f6}
.table-bordered > :not(caption) > * > *{border-color:#f3f4f6!important}
.table .dropdown .dropdown-toggle{width:60px;color:#0D6EFD!important;border-color:#0D6EFD!important;display:inline-flex;align-items:center;justify-content:center}
.table .dropdown .dropdown-toggle:hover{background:#eaf2ff!important;color:#0D6EFD!important}
.table .dropdown .dropdown-toggle::after{margin-left:.35rem!important}
.table .dropdown-menu{min-width:140px!important;width:100px!important}
.table .dropdown-menu .dropdown-item,form .dropdown-menu .dropdown-item{font-size:.8125rem}
.table .dropdown-menu .dropdown-item:hover,
.table .dropdown-menu .dropdown-item:focus{background:#0D6EFD!important;color:#fff!important}
::placeholder{font-size:14px!important}
input::placeholder, textarea::placeholder{font-size:14px!important}
.ad-card select, .p-3.border.rounded select { font-size: 14px !important; }
.table .dropdown .dropdown-toggle[aria-expanded=true],
.table .dropdown .dropdown-toggle:active{background:#0D6EFD!important;color:#fff!important;border-color:#0D6EFD!important}
.table tr.msg-unread td{background:#f5f8ff}
.table tr.msg-unread td:first-child{border-left:3px solid #2f54eb}
.metric-blue{border-color:#2f54eb!important}
.metric-green{border-color:#16a34a!important}
.metric-orange{border-color:#f59e0b!important}
.metric-purple{border-color:#a855f7!important}
.metric-blue,.metric-green,.metric-orange,.metric-purple{border-width:2px!important}
.metric-blue{background:#f0f5ff}
.metric-green{background:#ecfdf5}
.metric-orange{background:#fff7ed}
.metric-purple{background:#f5f3ff}
.dashboard-page .tab-pane > * + *{margin-top:30px}
.dashboard-page .admin-dashboard-row{--bs-gutter-y:30px}
.dashboard-metrics-row{margin-bottom:50px}

/* Scroll to Top Button */
#scrollTopBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: var(--primary);
  color: white;
  cursor: pointer;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: background-color 0.3s, transform 0.3s;
  align-items: center;
  justify-content: center;
}

#scrollTopBtn:hover {
  background-color: var(--accent);
}

#scrollTopBtn i {
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}

#scrollTopBtn:hover i {
  transform: translateY(-5px);
}

/* SweetAlert2 Smaller Customization */
.swal2-popup {
  width: 22rem !important;
  padding: 0.75rem !important;
  border-radius: 8px !important;
}
.swal2-title {
  font-size: 1.1rem !important;
  padding: 0.5rem 0 0 !important;
}
.swal2-html-container {
  font-size: 0.85rem !important;
  margin: 0.5rem 0 0 !important;
}
.swal2-icon {
  font-size: 8px !important;
  margin: 0.5rem auto 0 !important;
  border: 2px solid transparent !important;
}
.swal2-icon.swal2-error {
  border-color: #f27474 !important;
}
.swal2-icon.swal2-warning {
  border-color: #f8bb86 !important;
}
.swal2-icon.swal2-info {
  border-color: #3fc3ee !important;
}
.swal2-icon.swal2-success {
  border-color: #a5dc86 !important;
}
.swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: #a5dc86 !important;
}
.swal2-icon.swal2-success .swal2-success-ring {
  border: .25em solid rgba(165, 220, 134, .3) !important;
}
.swal2-icon .swal2-icon-content {
  font-size: 1.25rem !important;
}
.swal2-actions {
  margin: 0.75rem auto 0 !important;
  gap: 0.5rem;
}
.swal2-styled {
  font-size: 0.8rem !important;
  padding: 0.35rem 0.85rem !important;
  margin: 0 !important;
}
.swal2-close {
  width: 1.5rem !important;
  height: 1.5rem !important;
  font-size: 1.2rem !important;
}

