/* assets/css/style.css */

:root {
  /* Brand Colors */
  --navy: #0A2647;
  --navy-2: #0F3D63;
  --blue: #145DA0;
  --blue-bright: #1E77E8;
  --sky: #5DADE2;
  --amber: #D97706;
  --bg: #F5F8FC;
  --text: #1B2A41;
  --gray: #64748B;
  --line: #E3EAF3;
}

* {
  box-sizing: border-box;
}

body {
  font-family: 'Inter', sans-serif;
  color: var(--text);
  background: var(--bg);
}

h1, h2, h3, h4, .font-display {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  color: var(--navy);
}

.eyebrow {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue-bright);
}

a {
  text-decoration: none;
}

/* ===== Top bar ===== */
.topbar {
  background: var(--navy);
  color: #CBD9EA;
  font-size: .82rem;
  padding: 6px 0;
}

.topbar a {
  color: #CBD9EA;
}

.topbar a:hover {
  color: #fff;
}

.topbar .divider {
  opacity: .25;
  margin: 0 10px;
}

.topbar .social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  margin-left: 6px;
  color: #fff;
  font-size: .8rem;
}

.topbar .social a:hover {
  background: var(--amber);
}

/* ===== Navbar ===== */
.navbar-trine {
  background: #fff;
  padding: 14px 0;
  transition: box-shadow .25s ease, padding .25s ease;
  position: sticky;
  top: 0;
  z-index: 1030;
}

.navbar-trine.scrolled {
  box-shadow: 0 6px 24px rgba(10, 38, 71, .08);
  padding: 8px 0;
}

.brand-mark {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-mark .logo-box {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(160deg, var(--blue-bright), var(--navy));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 1.15rem;
}

.brand-mark .brand-text {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  color: var(--navy);
  font-size: 1.28rem;
  line-height: 1;
}

.brand-mark .brand-text span {
  display: block;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: .62rem;
  letter-spacing: .18em;
  color: var(--blue-bright);
  margin-top: 3px;
}

.nav-trine .nav-link {
  font-weight: 600;
  color: var(--navy) !important;
  padding: 8px 16px !important;
  font-size: .94rem;
}

.nav-trine .nav-link:hover, .nav-trine .nav-link.active {
  color: var(--blue-bright) !important;
}

.btn-amber {
  background: var(--amber);
  border: none;
  color: #fff;
  font-weight: 600;
  padding: 10px 22px;
  border-radius: 8px;
}

.btn-amber:hover {
  background: #B45F04;
  color: #fff;
}

.btn-outline-navy {
  border: 1.5px solid var(--navy);
  color: var(--navy);
  font-weight: 600;
  border-radius: 8px;
}

.btn-outline-navy:hover {
  background: var(--navy);
  color: #fff;
}

.btn-blue {
  background: var(--blue-bright);
  border: none;
  color: #fff;
  font-weight: 600;
  border-radius: 8px;
}

.btn-blue:hover {
  background: var(--navy);
  color: #fff;
}

/* ===== Hero ===== */
.hero {
  position: relative;
  min-height: 86vh;
  display: flex;
  align-items: center;
  background: linear-gradient(100deg, rgba(6, 25, 48, .93) 10%, rgba(10, 38, 71, .68) 55%, rgba(10, 38, 71, .35) 100%),
              url('https://images.unsplash.com/photo-1600661653561-629509216228?auto=format&fit=crop&w=1800&q=70') center/cover no-repeat;
}

.hero .badge-trust {
  background: rgba(93, 173, 226, .15);
  border: 1px solid rgba(93, 173, 226, .4);
  color: #BFE0FA;
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .08em;
  padding: 7px 16px;
  border-radius: 30px;
}

.hero h1 {
  color: #fff;
  font-size: 3.1rem;
  line-height: 1.12;
  margin: 20px 0 16px;
}

.hero h1 em {
  font-style: normal;
  color: var(--sky);
}

.hero p.lead-text {
  color: #D7E4F2;
  font-size: 1.08rem;
  max-width: 520px;
}

.hero-stats {
  display: flex;
  gap: 32px;
  margin-top: 34px;
}

.hero-stats .num {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #fff;
}

.hero-stats .lbl {
  font-size: .78rem;
  color: #AFC6DE;
}

/* Floating search card */
.search-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 22px 55px rgba(10, 38, 71, .22);
  padding: 26px 28px;
  margin-top: -72px;
  position: relative;
  z-index: 5;
}

.search-card label {
  font-size: .72rem;
  font-weight: 600;
  color: var(--gray);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
  display: block;
}

.search-card select, .search-card input {
  border: 1.5px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: .9rem;
  width: 100%;
  background: #F8FAFD;
}

.search-card select:focus, .search-card input:focus {
  outline: none;
  border-color: var(--blue-bright);
  background: #fff;
}

.search-card .btn-search {
  background: var(--blue-bright);
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  min-height: 44px;
}

.search-card .btn-search:hover {
  background: var(--navy);
}

section {
  padding: 88px 0;
}

.section-tight {
  padding: 70px 0;
}

/* ===== Vehicle cards ===== */
.vcard {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(10, 38, 71, 0.05);
  transition: transform .25s ease, box-shadow .25s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 30px rgba(10, 38, 71, 0.02);
}

.vcard:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(10, 38, 71, 0.08);
}

.vcard .img-wrap {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: #F8FAFD;
}

.vcard .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.vcard:hover .img-wrap img {
  transform: scale(1.05);
}

/* Floating top-left badges */
.vcard .card-badges-top {
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  gap: 8px;
  z-index: 2;
}

.vcard .badge-status {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  color: #fff;
  background: var(--navy);
}

/* Specific status pill styles */
.vcard .badge-status.badge-status-available { background: #E6F4EA !important; color: #137333 !important; }
.vcard .badge-status.badge-status-reserved { background: #FEF7E0 !important; color: #B06000 !important; }
.vcard .badge-status.badge-status-sold { background: #F1F3F4 !important; color: #5F6368 !important; }
.vcard .badge-status.badge-status-coming-soon { background: #E8F0FE !important; color: #1A73E8 !important; }

.vcard .badge-ev-deal {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  background: #EAF2FC;
  color: #1E77E8;
}



/* Floating bottom-left fuel badge (Glassmorphic) */
.vcard .badge-fuel-floating {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--navy);
  padding: 5px 12px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 2;
}

/* Card Body */
.vcard .body-p {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vcard .vehicle-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  color: var(--navy);
  font-size: 1.12rem;
  line-height: 1.35;
  margin: 0 0 6px 0;
}

/* Specs line dot-separated */
.vcard .specs-dot-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--gray);
  margin-bottom: 20px;
  font-weight: 500;
}

.vcard .specs-dot-line .dot-separator {
  color: #CBD5E1;
  font-size: 0.9rem;
}

/* Bottom Actions Row */
.vcard .card-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  gap: 6px;
}

.vcard .card-price {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--navy);
  white-space: nowrap;
}

.vcard .card-price small {
  font-size: 0.82rem;
  font-weight: 600;
  margin-right: 2px;
  color: var(--gray);
}

.vcard .btn-view-details {
  background: var(--blue-bright);
  color: #fff;
  font-weight: 600;
  font-size: 0.82rem;
  border-radius: 8px;
  padding: 8px 14px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.1s ease;
  border: none;
  white-space: nowrap;
  text-align: center;
}

.vcard .btn-view-details:hover {
  background: var(--navy);
  color: #fff;
}

.vcard .btn-view-details:active {
  transform: scale(0.97);
}

.new-ribbon {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--amber);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 2;
}

/* ===== Why choose us ===== */
.why-section {
  position: relative;
  background: var(--navy);
  color: #fff;
  padding: 120px 0 100px;
  clip-path: polygon(0 6%, 100% 0, 100% 94%, 0 100%);
  margin: -40px 0;
}

.why-section .eyebrow {
  color: var(--sky);
}

.why-section h2 {
  color: #fff;
}

.why-section p.sub {
  color: #B9CBE0;
  max-width: 560px;
}

.gauge {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  border: 2px solid rgba(93, 173, 226, .35);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  background: rgba(93, 173, 226, .08);
}

.gauge i {
  font-size: 1.6rem;
  color: var(--sky);
}

.stat-num {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 2.1rem;
  color: #fff;
  text-align: center;
}

.stat-lbl {
  text-align: center;
  color: #AFC6DE;
  font-size: .86rem;
  margin-top: 2px;
}

/* ===== Testimonials ===== */
.t-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--line);
  padding: 32px;
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}

.t-card .stars {
  color: var(--amber);
  font-size: .95rem;
  letter-spacing: 2px;
  margin-bottom: 14px;
}

.t-card p.quote {
  font-size: 1.05rem;
  color: var(--text);
  line-height: 1.7;
}

.t-card .avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 10px;
}

.carousel-control-prev, .carousel-control-next {
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(10, 38, 71, .15);
  opacity: 1;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
  filter: invert(15%) sepia(30%) saturate(900%) hue-rotate(180deg);
  width: 16px;
  height: 16px;
}

.carousel-indicators [data-bs-target] {
  background: var(--line);
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.carousel-indicators .active {
  background: var(--blue-bright);
}

/* ===== Contact ===== */
.contact-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--line);
  padding: 38px;
}

.contact-card .form-control {
  border: 1.5px solid var(--line);
  border-radius: 8px;
  padding: 11px 14px;
  font-size: .9rem;
}

.contact-card .form-control:focus {
  border-color: var(--blue-bright);
  box-shadow: none;
}

.info-row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 20px;
}

.info-row .icon-circle {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 10px;
  background: #EAF2FC;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue-bright);
}

.map-box {
  border-radius: 14px;
  overflow: hidden;
  height: 190px;
  border: 1px solid var(--line);
}

/* ===== Footer ===== */
footer {
  background: var(--navy-2);
  color: #C4D5E8;
  padding: 64px 0 0;
}

footer h6 {
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  margin-bottom: 18px;
  font-size: .95rem;
}

footer a {
  color: #AFC6DE;
}

footer a:hover {
  color: var(--sky);
}

footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer ul li {
  margin-bottom: 10px;
  font-size: .9rem;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .1);
  margin-top: 44px;
  padding: 18px 0;
  font-size: .82rem;
  color: #8DA6C2;
}

.social-round {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-right: 8px;
}

.social-round:hover {
  background: var(--blue-bright);
  color: #fff;
}

@media (max-width: 991px) {
  .hero {
    min-height: auto;
    padding: 70px 0 0;
  }
  
  .hero h1 {
    font-size: 2.2rem;
  }
  
  .search-card {
    margin-top: 30px;
  }
  
  .why-section {
    clip-path: none;
    margin: 0;
    padding: 70px 0;
  }
  
  section {
    padding: 60px 0;
  }
}

/* ===================================================================
   VEHICLE LISTING PAGE — append to style.css
=================================================================== */

/* ===== Page banner ===== */
.page-banner{
  background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);
  padding:52px 0 44px;
  color:#fff;
}
.breadcrumb-custom{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 14px;font-size:.85rem;}
.breadcrumb-custom a{color:#AFC6DE;}
.breadcrumb-custom a:hover{color:#fff;}
.breadcrumb-custom .sep{color:#5C7692;}
.breadcrumb-custom .current{color:var(--sky);font-weight:600;}
.page-banner h1{color:#fff;font-size:2.1rem;margin-bottom:6px;}
.page-banner p{color:#AFC6DE;margin:0;}

/* ===== Listing layout ===== */
.listing-section{padding:56px 0 88px;}

.filter-card {
  background: #fff;
  border: 1px solid rgba(10, 38, 71, 0.06);
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 15px 40px rgba(10, 38, 71, 0.03);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

@media (min-width: 992px) {
  .filter-card {
    position: sticky;
    top: 96px;
  }
}

.filter-card:hover {
  box-shadow: 0 20px 45px rgba(10, 38, 71, 0.06);
}

.filter-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  color: var(--navy);
  font-size: 1.1rem;
  letter-spacing: -0.01em;
}

.reset-link {
  font-size: 0.78rem;
  color: var(--gray);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: color 0.2s ease;
}

.reset-link:hover {
  color: #C5221F;
}

/* Custom Styled Select Fields inside Filter Box */
.filter-card .form-select {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  background-color: #F8FAFD !important;
  color: var(--navy) !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

.filter-card .form-select:hover {
  border-color: rgba(30, 119, 232, 0.3) !important;
  background-color: #fff !important;
}

.filter-card .form-select:focus {
  border-color: var(--blue-bright) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 4px rgba(30, 119, 232, 0.1) !important;
}

/* Form Labels */
.filter-card label.form-label {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #8A98AC !important;
  margin-bottom: 8px !important;
  display: block;
}

/* Form buttons */
.filter-card .btn-blue {
  background: linear-gradient(135deg, var(--blue-bright) 0%, #0d6efd 100%) !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 4px 15px rgba(30, 119, 232, 0.18) !important;
  transition: all 0.25s ease !important;
}

.filter-card .btn-blue:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(30, 119, 232, 0.28) !important;
}

.filter-card .btn-outline-secondary {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  color: var(--navy) !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}

.filter-card .btn-outline-secondary:hover {
  background: #F8FAFD !important;
  border-color: var(--gray) !important;
  color: var(--navy) !important;
}

.range-inputs{display:flex;align-items:center;gap:8px;}
.range-inputs input{
  width:100%;
  border:1.5px solid var(--line);
  border-radius:8px;
  padding:9px 10px;
  font-size:.85rem;
  background:#F8FAFD;
}
.range-inputs input:focus{outline:none;border-color:var(--blue-bright);background:#fff;}
.range-inputs span{color:var(--gray);font-size:.8rem;}

.chip-group{display:flex;flex-wrap:wrap;gap:8px;}
.chip{cursor:pointer;}
.chip input{display:none;}
.chip span{
  display:inline-block;
  padding:7px 14px;
  border-radius:20px;
  border:1.5px solid var(--line);
  font-size:.8rem;
  font-weight:600;
  color:var(--gray);
  background:#F8FAFD;
  transition:.18s;
}
.chip input:checked + span{
  background:var(--blue-bright);
  border-color:var(--blue-bright);
  color:#fff;
}

.btn-apply-filters{
  width:100%;
  background:var(--blue-bright);
  color:#fff;
  font-weight:600;
  border:none;
  border-radius:8px;
  padding:12px;
  font-size:.9rem;
}
.btn-apply-filters:hover{background:var(--navy);}

/* ===== Toolbar ===== */
.toolbar-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px 20px;
  margin-bottom:26px;
}
.results-count{font-size:.9rem;color:var(--gray);}
.results-count strong{color:var(--navy);}
.toolbar-actions{display:flex;align-items:center;gap:12px;}
.btn-filter-mobile{
  border:1.5px solid var(--line);
  background:#F8FAFD;
  color:var(--navy);
  font-weight:600;
  font-size:.85rem;
  border-radius:8px;
  padding:9px 14px;
}
.sort-select{
  border:1.5px solid var(--line);
  border-radius:8px;
  padding:9px 14px;
  font-size:.85rem;
  background:#F8FAFD;
  color:var(--text);
  min-width:190px;
}
.sort-select:focus{outline:none;border-color:var(--blue-bright);}

/* ===== Status pill variants ===== */
.status-available{background:rgba(21,140,80,.9) !important;}
.status-reserved{background:rgba(217,119,6,.9) !important;}
.status-sold{background:rgba(120,120,120,.9) !important;}

/* ===== Pagination ===== */
.pagination-wrap{display:flex;justify-content:center;margin-top:44px;}
.pagination-custom{
  list-style:none;
  display:flex;
  gap:8px;
  padding:0;
  margin:0;
}
.pagination-custom li a, .pagination-custom li.dots{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:8px;
  border:1.5px solid var(--line);
  color:var(--navy);
  font-weight:600;
  font-size:.88rem;
}
.pagination-custom li.active a{
  background:var(--blue-bright);
  border-color:var(--blue-bright);
  color:#fff;
}
.pagination-custom li a:hover{border-color:var(--blue-bright);color:var(--blue-bright);}
.pagination-custom li.disabled a{opacity:.4;pointer-events:none;}
.pagination-custom li.dots{border:none;color:var(--gray);}

/* ===== Mobile filter offcanvas ===== */
.filter-offcanvas{width:340px;}
.filter-offcanvas .offcanvas-header{border-bottom:1px solid var(--line);}
.filter-offcanvas .offcanvas-title{font-family:'Poppins',sans-serif;font-weight:700;color:var(--navy);font-size:1.05rem;}

@media (max-width:991px){
  .page-banner{padding:40px 0 32px;}
  .toolbar-bar{align-items:flex-start;}
}

/* ===================================================================
   VEHICLE DETAIL PAGE — CLEAN & MERGED
=================================================================== */

.page-banner-sm {
  padding: 22px 0;
}

.detail-section {
  padding: 44px 0 90px;
}

/* ===== Gallery ===== */
.gallery-wrap {
  position: relative;
  border-radius: 16px;
  overflow: hidden;

  padding: 15px;
}

.gallery-main {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

.detail-status-pill {
  position: absolute;
  top: 30px;
  left: 30px;
  z-index: 3;
  color: #fff;
  font-size: .78rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
}

.gallery-tools {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 3;
  display: flex;
  gap: 8px;
}

.gtool-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, .9);
  color: var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.gtool-btn:hover {
  background: var(--amber);
  color: #fff;
}

.gallery-thumbs {
  display: flex;
  gap: 10px;
  padding: 12px;
  /* background: #08203C;
  border-radius: 8px; */
  margin-top: 10px;
}

.gthumb {
  width: 90px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  opacity: .55;
  transition: .2s;
  border: 2px solid transparent;
}

.gthumb:hover {
  opacity: .85;
}

.gthumb.active {
  opacity: 1;
  border-color: var(--amber);
}

/* ===== Title & Price ===== */
.detail-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
}

.detail-price {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 1.7rem;
  color: var(--amber);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
}

.negotiable-tag {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: .72rem;
  color: var(--blue-bright);
  background: #EAF2FC;
  padding: 4px 10px;
  border-radius: 20px;
  border: 1px solid #D2E3FC;
}

/* ===== Detail Content Cards (White Boxes) ===== */
.detail-block {
  padding: 30px;
  margin-top: 24px;
  box-shadow: 0 4px 20px rgba(10, 38, 71, 0.02);
}

.detail-block-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  color: var(--navy);
  font-size: 1.15rem;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.detail-desc {
  color: var(--gray);
  line-height: 1.8;
  font-size: .95rem;
  margin: 0;
}

/* ===== Specifications Grid ===== */
.spec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}

.spec-item {
  display: flex;
  align-items: center;
  gap: 15px;
  background: #F8FAFD;
  border: 1px solid var(--line);
  padding: 12px 16px;
  border-radius: 12px;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.spec-item:hover {
  transform: translateY(-2px);
  border-color: var(--sky);
}

.spec-item i {
  font-size: 1.4rem;
  color: var(--blue-bright);
  display: inline-flex;
}

.spec-item span {
  display: block;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--gray);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.spec-item strong {
  display: block;
  font-size: 0.95rem;
  color: var(--navy);
  font-weight: 700;
  margin-top: 1px;
}

/* Mobile Toggle Button for Specifications */
.spec-toggle-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: #F8FAFD;
  border: 1px solid var(--line);
  padding: 14px 18px;
  border-radius: 12px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  color: var(--navy);
  font-size: 0.95rem;
}

.spec-toggle-btn i.bi-list-stars {
  color: var(--blue-bright);
}

.toggle-arrow {
  transition: transform 0.2s ease;
}

.spec-toggle-btn[aria-expanded="true"] .toggle-arrow {
  transform: rotate(180deg);
}

/* ===== Features Checklist ===== */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #F8FAFD;
  border: 1px solid var(--line);
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text);
  transition: background 0.2s ease;
}

.feature-item:hover {
  background: #EAF2FC;
}

.feature-item i {
  color: #10B981; /* Emerald green check */
  font-size: 1rem;
}

/* ===== Sticky Info Card (Sidebar) ===== */
.info-sticky {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 26px;
  position: sticky;
  top: 96px;
}

.quick-specs {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  background: #F8FAFD;
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 20px;
}

.quick-specs div {
  font-size: .78rem;
  color: var(--gray);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  flex: 1;
}

.quick-specs i {
  color: var(--blue-bright);
  font-size: 1.1rem;
}

/* Custom Outlined CTA Buttons Stack */
.cta-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.btn-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  padding: 10px 14px;
  font-weight: 600;
  font-size: 0.88rem;
  transition: all 0.2s ease;
  border: 1.5px solid transparent;
}

.btn-whatsapp {
  background: #1DA851;
  color: #fff;
}
.btn-whatsapp:hover {
  background: #168540;
  color: #fff;
}

.btn-call {
  background: transparent;
  border-color: var(--navy);
  color: var(--navy);
}
.btn-call:hover {
  background: var(--navy);
  color: #fff;
}

.btn-finance {
  background: transparent;
  border-color: var(--blue-bright);
  color: var(--blue-bright);
}
.btn-finance:hover {
  background: var(--blue-bright);
  color: #fff;
}

.btn-brochure {
  background: transparent;
  border-color: #E74C3C;
  color: #E74C3C;
}
.btn-brochure:hover {
  background: #E74C3C;
  color: #fff;
}

.share-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 20px 0 6px;
  font-size: .82rem;
  color: var(--gray);
}

.share-row a {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #F8FAFD;
  border: 1px solid var(--line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--navy);
}

.share-row a:hover {
  background: var(--blue-bright);
  color: #fff;
  border-color: var(--blue-bright);
}

/* ===== Finance Estimate Widget ===== */
.finance-estimate {
  margin-top: 22px;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}

.fe-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  background: #F8FAFD;
  cursor: pointer;
  font-size: .86rem;
  font-weight: 600;
  color: var(--navy);
}

.fe-body {
  padding: 16px;
}

.fe-body label {
  display: block;
  font-size: .72rem;
  color: var(--gray);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 10px 0 6px;
}

.fe-body label:first-child {
  margin-top: 0;
}

.fe-input {
  width: 100%;
  border: 1.5px solid var(--line);
  border-radius: 8px;
  padding: 9px 12px;
  font-size: .85rem;
  background: #fff;
}

.fe-input:focus {
  outline: none;
  border-color: var(--blue-bright);
}

.fe-result {
  margin-top: 14px;
  font-size: .95rem;
  color: var(--navy);
}

.fe-result strong {
  color: var(--amber);
  font-family: 'Poppins', sans-serif;
}

.fe-note {
  display: block;
  margin-top: 8px;
  font-size: .72rem;
  color: var(--gray);
  line-height: 1.5;
}

/* ===== Similar Vehicles ===== */
.similar-section {
  margin-top: 64px;
}

/* ===== Finance Modal ===== */
.finance-modal {
  border-radius: 16px;
  border: none;
}

.finance-modal .modal-header {
  border-bottom: 1px solid var(--line);
}

.finance-modal .modal-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  color: var(--navy);
}

.finance-modal .form-control {
  border: 1.5px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: .88rem;
}

.finance-modal .form-control:focus {
  border-color: var(--blue-bright);
  box-shadow: none;
}

@media (max-width: 991px) {
  .gallery-main {
    height: 280px;
  }
  
  /* Horizontal scroll for thumbnails on mobile */
  .gallery-thumbs {
    overflow-x: auto;
    white-space: nowrap;
    padding: 10px;
    gap: 8px;
  }
  
  .gthumb {
    width: 75px;  /* Slightly smaller thumbnail width */
    height: 54px; /* Slightly smaller thumbnail height */
    flex-shrink: 0; /* Prevent the image from squeezing/shrinking */
  }
  .feature-grid {
    grid-template-columns: 1fr;
  }
  .info-sticky {
    position: static;
    margin-top: 24px;
  }
}

/* Mobile adjustments for Title and Price sizes */
@media (max-width: 767px) {
  .detail-title {
    font-size: 1.45rem; /* Down from 2.1rem for better phone layout */
    line-height: 1.25;
    font-weight: 700;
  }
  
  .detail-price {
    font-size: 1.35rem; /* Down from 1.7rem */
    margin-bottom: 15px;
  }
  
  .negotiable-tag {
    font-size: 0.65rem;
    padding: 3px 8px;
  }

  /* Give the mobile title and price some padding from the edges */
  .d-lg-none.mt-4 {
    padding-left: 15px;
    padding-right: 15px;
  }
  /* Add extra horizontal padding to the topbar on mobile so links don't touch the corners */
  .topbar {
    padding: 8px 15px !important;
  }
  
  /* Add extra padding to the navbar container on mobile */
  .navbar-trine .container {
    padding-left: 15px;
    padding-right: 15px;
  }

}


/* ===================================================================
   CONTACT PAGE STYLING
=================================================================== */

.contact-page-section {
  padding: 56px 0 88px;
}

/* Quick Contact Tiles */
.quick-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  padding: 24px 16px;
  border-radius: 16px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  height: 100%;
}

.quick-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(10, 38, 71, 0.05);
  border-color: var(--sky);
}

.qt-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(30, 119, 232, 0.08);
  color: var(--blue-bright);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  margin-bottom: 14px;
}

/* WhatsApp tile uses green branding */
.qt-icon.qt-whatsapp {
  background: rgba(29, 168, 81, 0.08);
  color: #1DA851;
}

.qt-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--gray);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}

.qt-value {
  font-size: 0.88rem;
  color: var(--navy);
  font-weight: 700;
}

/* Social icons block */
.social-follow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
}

.social-follow span {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--navy);
}

.social-follow a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #F8FAFD;
  border: 1px solid var(--line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--navy);
  transition: all 0.2s ease;
}

.social-follow a:hover {
  background: var(--blue-bright);
  color: #fff;
  border-color: var(--blue-bright);
}

/* Premium Map Container with Overlay */
.map-container-section {
  position: relative;
  height: 480px; /* Slightly taller for breathing room */
  border-top: 1px solid var(--line);
  line-height: 0;
}

/* The Glassmorphic Floating Card */
.map-floating-card {
  position: absolute;
  top: 50px;
  left: 80px;
  z-index: 10;
  width: 340px;
  background: rgba(255, 255, 255, 0.9); /* White transparent */
  backdrop-filter: blur(10px); /* Modern blur effect */
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 15px 35px rgba(6, 25, 48, 0.15);
  line-height: normal; /* Reset line height from iframe wrapper */
}

/* Responsive adjust for mobile */
@media (max-width: 767px) {
  .map-container-section {
    height: 350px;
  }
  .map-floating-card {
    position: static; /* Stack card on top of map on mobile */
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    border-left: none;
    border-right: none;
    backdrop-filter: none;
    background: #fff;
    padding: 20px;
  }
}

/* ===================================================================
   ABOUT US PAGE — append to style.css
=================================================================== */

.profile-section{padding:80px 0;}

.profile-img-wrap{position:relative;border-radius:16px;overflow:hidden;}
.profile-img-wrap img{width:100%;height:420px;object-fit:cover;display:block;}
.profile-badge{
  position:absolute;bottom:20px;left:20px;background:#fff;border-radius:12px;
  padding:14px 22px;box-shadow:0 12px 30px rgba(10,38,71,.18);text-align:center;
}
.profile-badge strong{display:block;font-family:'Poppins',sans-serif;font-weight:800;font-size:1.5rem;color:var(--amber);}
.profile-badge span{font-size:.75rem;color:var(--gray);text-transform:uppercase;letter-spacing:.04em;}

.quick-facts{display:flex;gap:32px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);}
.quick-facts div{display:flex;flex-direction:column;}
.quick-facts strong{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.4rem;color:var(--navy);}
.quick-facts strong i{font-size:1rem;color:var(--amber);}
.quick-facts span{font-size:.78rem;color:var(--gray);}

/* ===== Vision & Mission ===== */
.vm-section{padding:20px 0 80px;}
/* Clean, toned-down Vision & Mission cards */
.vm-card {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--navy); /* Deep Navy border highlight for both */
  border-radius: 16px;
  padding: 40px;
  height: 100%;
  box-shadow: 0 4px 20px rgba(10, 38, 71, 0.01);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vm-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(10, 38, 71, 0.04);
  border-top-color: var(--blue-bright); /* Lights up to electric blue on hover */
}

/* Neutral icon backgrounds */
.vm-icon {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  background: #F8FAFD; /* Neutral, clean backdrop */
  color: var(--navy); /* Monochromatic Navy */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 20px;
  border: 1px solid var(--line);
}

.vm-card:hover .vm-icon {
  color: var(--blue-bright);
  background: #EAF2FC;
  border-color: rgba(30, 119, 232, 0.2);
}

/* ===== Gallery ===== */
.gallery-section{padding:0 0 90px;}
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.gallery-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;height:190px;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-overlay{
  position:absolute;inset:0;background:rgba(10,38,71,.45);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;
  opacity:0;transition:opacity .25s ease;
}
.gallery-item:hover .gallery-overlay{opacity:1;}

/* ===== Lightbox ===== */
.lightbox{
  display:none;position:fixed;inset:0;background:rgba(6,18,32,.94);z-index:2000;
  align-items:center;justify-content:center;
}
.lightbox.active{display:flex;}
.lightbox img{max-width:88%;max-height:82vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.lb-close{
  position:absolute;top:24px;right:28px;background:rgba(255,255,255,.1);border:none;color:#fff;
  width:42px;height:42px;border-radius:50%;font-size:1.1rem;
}
.lb-close:hover{background:var(--amber);}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:#fff;
  width:48px;height:48px;border-radius:50%;font-size:1.3rem;
}
.lb-nav:hover{background:var(--amber);}
.lb-prev{left:24px;}
.lb-next{right:24px;}

@media (max-width:991px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .profile-img-wrap img{height:300px;}
  .quick-facts{flex-wrap:wrap;gap:20px;}
}
@media (max-width:576px){
  .lb-nav{width:38px;height:38px;font-size:1rem;}
  .lb-prev{left:10px;}
  .lb-next{right:10px;}
}

/* ===================================================================
   SERVICES PAGE — append to style.css
=================================================================== */

/* ===== Quick jump nav ===== */
.service-jumpnav{
  background:#fff;border-bottom:1px solid var(--line);
  position:sticky;top:70px;z-index:20;
}
.jumpnav-row{display:flex;gap:6px;overflow-x:auto;padding:14px 0;}
.jumpnav-row a{
  display:flex;align-items:center;gap:7px;white-space:nowrap;
  padding:9px 16px;border-radius:20px;font-size:.85rem;font-weight:600;
  color:var(--navy);background:#F8FAFD;border:1px solid var(--line);
}
.jumpnav-row a:hover{background:var(--blue-bright);color:#fff;border-color:var(--blue-bright);}

/* ===== Service rows ===== */
/* Change this: */
.service-row {
  padding: 45px 0; /* Reduced from 80px 0 */
  border-bottom: 1px solid var(--line);
}
.service-row-alt{background:#F5F8FC;}

.service-img-wrap{border-radius:16px;overflow:hidden;}
.service-img-wrap img{width:100%;height:340px;object-fit:cover;display:block;}

.service-icon-badge{
  width:58px;height:58px;border-radius:14px;background:#EAF2FC;color:var(--blue-bright);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:18px;
}
.service-title{font-size:1.7rem;margin-bottom:14px;}
.service-desc{color:var(--gray);line-height:1.8;font-size:.95rem;margin-bottom:20px;}

.service-points{list-style:none;padding:0;margin:0 0 8px;}
.service-points li{
  display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--text);
  padding:8px 0;border-bottom:1px solid var(--line);
}
.service-points li:last-child{border-bottom:none;}
.service-points li i{color:#158C50;margin-top:2px;}

/* ===== CTA banner ===== */
.services-cta{
  background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;padding:80px 0;
}
.services-cta h2{color:#fff;font-size:1.9rem;margin-bottom:12px;}
.services-cta p{color:#B9CBE0;max-width:560px;margin:0 auto;}

@media (max-width:991px){
  .service-jumpnav{top:0;}
  .service-row{padding:56px 0;}
  .service-img-wrap img{height:240px;}
}

/* ===================================================================
   REDESIGNED HIGH-FIDELITY CONTACT PAGE
=================================================================== */

.map-section-wrap {
  padding: 60px 0 90px;
  background: #F8FAFD;
  border-top: 1px solid var(--line);
}

/* Rounded, tall map container */
.map-rounded-wrapper {
  position: relative;
  height: 600px; /* Taller lux layout */
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 15px 40px rgba(10, 38, 71, 0.04);
}

/* Glassmorphic floating card over the map */
.map-floating-glass-card {
  position: absolute;
  top: 40px;
  left: 40px;
  z-index: 10;
  width: 360px;
  background: rgba(255, 255, 255, 0.88); /* Semi-transparent white */
  backdrop-filter: blur(12px); /* Glassmorphism blur */
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(6, 25, 48, 0.18);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  line-height: normal;
}

.map-floating-glass-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 25px 55px rgba(6, 25, 48, 0.25);
}

.card-img-header {
  height: 140px;
  overflow: hidden;
}

.card-img-header img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-body-content {
  padding: 24px;
}

.rating-badge {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--navy);
  background: #FFF7E6;
  border: 1px solid #FFE7BA;
  padding: 3px 8px;
  border-radius: 6px;
}

/* Dynamic Open/Closed Status Pill */
.badge-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 20px;
}

.badge-status .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.status-open {
  background: #E6F4EA;
  color: #137333;
}
.status-open .dot {
  background: #137333;
  animation: pulse-green 2s infinite;
}

.status-closed {
  background: #FCE8E6;
  color: #C5221F;
}
.status-closed .dot {
  background: #C5221F;
}

@keyframes pulse-green {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(19, 115, 51, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(19, 115, 51, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(19, 115, 51, 0); }
}

/* Trust checklist badges */
.map-badges-grid {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.map-badges-grid span {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
}

.map-badges-grid span i {
  color: var(--blue-bright);
}

.small-text {
  font-size: 0.8rem !important;
  font-weight: 700;
}

/* Structured info row dividers */
.structured-info-list {
  display: flex;
  flex-direction: column;
}

.info-row-sep {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1.5px solid var(--line);
}

.info-row-sep:last-child {
  border-bottom: none;
}

.info-row-sep .icon-circle {
  width: 38px;
  height: 38px;
  background: #F8FAFD;
  border: 1px solid var(--line);
  color: var(--blue-bright);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

/* Responsive stacks for mobile devices */
@media (max-width: 991px) {
  .map-rounded-wrapper {
    height: auto;
    border-radius: 16px;
    background: #fff;
    border: none;
    box-shadow: none;
  }
  .map-rounded-wrapper iframe {
    height: 300px;
    border-radius: 16px;
    border: 1px solid var(--line) !important;
  }
  .map-floating-glass-card {
    position: static; /* Un-float it and place it underneath */
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(10, 38, 71, 0.02);
    border: 1px solid var(--line);
    margin-top: 20px;
    background: #fff;
    backdrop-filter: none;
  }
}

/* Responsive Footer Mobile Adjustments */
@media (max-width: 991px) {
  footer {
    padding: 44px 0 0 !important;
  }
  .footer-bottom {
    margin-top: 30px !important;
    padding: 14px 0 !important;
  }
  footer p.small {
    margin-bottom: 20px;
  }
  
  /* Footer Collapse Accordions on Mobile */
  footer h6[data-bs-toggle="collapse"] {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 12px;
    margin-bottom: 12px !important;
  }
  footer ul.collapse:not(.show) {
    display: none;
  }
  .w-100-mobile {
    width: 100% !important;
  }
}

@media (min-width: 992px) {
  footer h6[data-bs-toggle="collapse"] {
    pointer-events: none; /* Disable collapse clicks on desktop */
    cursor: default;
  }
}

/* Chevron Rotation Animation */
footer h6 i.bi-chevron-down {
  transition: transform 0.25s ease;
}
footer h6[aria-expanded="true"] i.bi-chevron-down {
  transform: rotate(180deg);
}

/* Widen Container slightly on large viewports to give 4-column layout more breathing room */
@media (min-width: 1200px) {
  .container {
    max-width: 1220px !important;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1360px !important;
  }
}



