html { font-size: 15px; }          /* default */
@media (max-width: 576px){
  html { font-size: 14px; }        /* phones */
}
@media (min-width: 1200px){
  html { font-size: 16px; }        /* large screens */
}

:root {
  --brand-orange: #e84a31;
  --brand-orange-dark: #d63f27;
  --brand-green: #198754;
  --brand-green-dark: #126f45;
  --brand-text: #2f3541;
  --brand-muted: #6b7280;
  --brand-bg: #f5f6f7;
  --brand-white: #ffffff;
  --brand-border: #dfe5e8;
}

body {
  font-family: Arial, sans-serif;
  background: var(--brand-bg);
  color: var(--brand-text);
  padding-top: 68px;
  padding-bottom: 66px;
}

.home-page {
  background: var(--brand-white);
}

@media (min-width: 576px) {
	body{
		padding-bottom:0px;
	}
}

label, .label {
  color: var(--brand-green);
  font-weight: bold;
}

.mw-500{
	max-width:500px;
}

.mw-665{
	max-width:665px;
}

.px-10{
	padding-right:10px;
	padding-left:10px;
}

.mx-10{
	margin-right:10px;
	margin-left:10px;
}

.p-10{
	padding:10px;
}

.p-05{
	padding:5px !important;
}

.m-10{
	margin:10px;
}

.m-05{
	margin:5px;
}

.footer{
	background: var(--brand-green);
	color:#ffffff;
	padding:10px 0;
	margin-top:10px;
}

.text-green-100{
	color: var(--brand-green) !important;
}

.carousel-item img {
	display: block;
	width: 100%;
	max-height: 400px;
	-o-object-fit: contain;
	object-fit: contain;
}

.carousel-btn-circle {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 50%;
}

.carousel-btn-circle i {
    color: #fff;
    font-size: 1.25rem;
}

.img-cover {
	display: block;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.fly-out-menu{
	 position:absolute;
	 top:100%;
	 left:0;
	 z-index:10;
}

/********** Start of Show Dukas **********/

/* Defaults */
.prdorserv-img{
	height: 100%;
}

.add-duka-ad-col1, .add-duka-ad-col2{
	width: 100%;
}

.name{
	font-size:1rem;
	font-weight:700;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}

.price{
	font-size:1.25rem;
	font-weight:550;
}

.location, .deal{
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}

.town, .business-type{
	font-size:1rem;
	font-weight:550;
}

/* 2 Columns */
@media (min-width: 540px) {
	.duka-disp img{
		height: 225px;
	}
	
	.add-duka-ad{
		max-width:640px;
	}
	
	.add-duka-ad-col1, .add-duka-ad-col2{
		width: 50%;
	}
}

@media (min-width: 610px) {
	.duka-disp img{
		height: 260px;
	}
}

@media (min-width: 690px) {
	.duka-disp img{
		height: 300px;
	}
}

/* 3 Columns */
@media (min-width: 805px) {
	.duka-disp img{
		height: 225px;
	}
}

@media (min-width: 910px) {
	.duka-disp img{
		height: 260px;
	}
}

@media (min-width: 1030px) {
	.duka-disp img{
		height: 300px;
	}
}

/* 4 Columns */
@media (min-width: 1070px) {
	.duka-disp img{
		height: 225px;
	}
}

@media (min-width: 1210px) {
	.duka-disp img{
		height: 260px;
	}
}

@media (min-width: 1370px) {
	.duka-disp img{
		height: 300px;
	}
}

/********** End of Show Dukas **********/

/**********END OF IN USE CLASSES**********/

/* Custom classes */

.bg-black{
	background-color: #000000 !important;
}

.bg-red{
	background-color: #bb0000 !important;
}

.bg-green{
	background-color: var(--brand-green) !important;
}

.text-red{
	color:#bb0000 !important;
}

.text-green{
	color: var(--brand-green) !important;
}

.w-500{
	width:500px;
}

.mb-10{
	margin-bottom:10px;
}

.error{
	color:#ff0000;
}

.red-top-border{
	border-top:1px solid #bb0000;
}

/******* SCROLLABLE MENU **********/
.scrollable-nav {
  overflow-x: auto;
  white-space: nowrap;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
}

.scrollable-nav .nav-link {
  scroll-snap-align: start;
  display: inline-block;
}

.scrollable-nav::-webkit-scrollbar {
  height: 8px;
}

.scrollable-nav::-webkit-scrollbar-thumb {
  background-color: #888;
  border-radius: 4px;
}

.scrollable-nav::-webkit-scrollbar-track {
  background-color: #f1f1f1;
}

/*** Image Displays (Dukas & Products/Services) ***/
#img1DispCont, #img2DispCont, #img3DispCont {
	max-height:300px;
}

.square {
    aspect-ratio: 1 / 1 !important; /* Modern method */
}

#btnScrollTop {
    position: fixed;
    bottom: 90px;
    right: 20px;
    z-index: 1050;

    width: 45px;
    height: 45px;
    padding: 0;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Visible state */
#btnScrollTop.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Slight lift effect when hidden */
#btnScrollTop:not(.show) {
    transform: translateY(10px);
}

/******************** BEGINNING: dukas.php & products-and-services.php Styles ********************/
[id] {
    scroll-margin-top: 90px;
}

.topbar {
  background: var(--brand-text);
  font-size: 0.92rem;
}

.topbar a {
  color: rgba(255, 255, 255, 0.86);
  text-decoration: none;
}

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

.main-navbar {
  background: var(--brand-white);
  z-index: 20;
}

.main-navbar .container,
.main-navbar .navbar-collapse {
  min-width: 0;
}

.navbar-brand {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - 80px);

  font-size: 1rem;
  font-weight: 800;
  color: var(--brand-green);
  text-decoration: none;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 576px) {
  .navbar-brand {
    font-size: 1.1rem;
    max-width: calc(100% - 70px);
  }
}

@media (min-width: 768px) {
  .navbar-brand {
    font-size: 1.2rem;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .navbar-brand {
    font-size: 1.5rem;
    max-width: 320px;
  }
}

@media (min-width: 1200px) {
  .navbar-brand {
    max-width: 420px;
  }
}

.searchbar {
  background: var(--brand-white);
}
    
.category-nav {
  background: #f8faf9;
  border-top: 1px solid var(--brand-border);
  border-bottom: 1px solid var(--brand-border);
}

.category-nav .nav-link {
  color: var(--brand-text);
  font-weight: 600;
  white-space: nowrap;
  padding: 0.9rem 1rem;
}

.category-nav .nav-link:hover,
.category-nav .nav-link.active {
  color: var(--brand-green);
}

.btn-outline-primary {
  color: var(--brand-green);
  border-color: var(--brand-green);
}

.btn-outline-primary:hover {
  background-color: var(--brand-green);
  border-color: var(--brand-green);
  color: #fff;
}

/* Business Page Specific Styles */
.business-hero {
  background: var(--brand-white);
  padding: 2rem 0;
  border-bottom: 1px solid var(--brand-border);
}

.business-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800;
  color: var(--brand-text);
  margin-bottom: 0.5rem;
}

.business-category-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(24, 128, 80, 0.1);
  color: var(--brand-green);
  padding: 0.5rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.business-description {
  font-size: 1.1rem;
  color: var(--brand-muted);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex: 1;
}

.business-info {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-bottom: 1.5rem;
}

.info-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--brand-text);
}

.info-item i {
  color: var(--brand-orange);
  font-size: 1.1rem;
}

.rating-display {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #3b82f6;
  color: var(--brand-white);
  padding: 0.5rem 1rem;
  border-radius: 999px;
  font-weight: 600;
}

.rating-display i {
  color: #fbbf24;
}

.verified-display {
  background: var(--brand-green);
  color: var(--brand-white);
  padding: 0.5rem 1rem;
  border-radius: 999px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.breadcrumb {
  background: transparent;
  padding: 1rem 0;
  margin-bottom: 0;
}

.breadcrumb-item a {
  color: var(--brand-green);
  text-decoration: none;
}

.breadcrumb-item.active {
  color: var(--brand-muted);
}

/* Products Section */
.products-section {
  padding: 3rem 0;
  background: var(--brand-bg);
}

.category-section {
  margin-bottom: 3rem;
  scroll-margin-top: 90px;
}

.category-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--brand-border);
}
.category-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--brand-text);
  margin-bottom: 0.25rem;
}

.category-subtitle {
  color: var(--brand-muted);
  font-size: 0.95rem;
}

.product-card {
  background: var(--brand-white);
  border: 1px solid var(--brand-border);
  border-radius: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.product-image, .business-image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.product-image-wrapper {
  position: relative;
  overflow: hidden;
}

.product-badges {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  right: 0.75rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.stock-badge {
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 600;
}

.sale-badge {
  background: var(--brand-orange);
  color: var(--brand-white);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
}

.new-badge {
  background: #3b82f6;
  color: var(--brand-white);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
}
.product-content {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.product-name, .business-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 0.5rem;
}

.product-link,
.business-link {
    color: #000;
    text-decoration: none;
}

.product-link:hover,
.business-link:hover {
    color: #0d6efd; /* Bootstrap primary blue */
}

.product-link:focus,
.business-link:focus {
    color: #0d6efd;
}

.product-link:active,
.business-link:active {
    color: #084298; /* darker Bootstrap blue */
}

.product-description, .business-description-card {
  font-size: 0.85rem;
  color: var(--brand-muted);
  line-height: 1.5;
  margin-bottom: 1rem;
  flex: 1;
}

.product-price {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--brand-green);
  margin-bottom: 1rem;
}

.product-price .original-price {
  font-size: 0.9rem;
  color: var(--brand-muted);
  text-decoration: line-through;
  font-weight: 400;
  margin-left: 0.5rem;
}

.product-actions {
  display: flex;
  gap: 0.75rem;
}

.btn-more {
  flex: 1;
  padding: 0.65rem 1rem;
  border: 1px solid var(--brand-border);
  background: var(--brand-white);
  color: var(--brand-text);
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-more:hover {
  border-color: var(--brand-green);
  color: var(--brand-green);
}

.btn-contact {
  flex: 1;
  padding: 0.65rem 1rem;
  background: var(--brand-green);
  color: var(--brand-white);
  border: none;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.2s ease;
}

.btn-contact:hover {
  background: var(--brand-green-dark);
  color: var(--brand-white);
}
/* Floating Contact Buttons */
.floating-contacts {
  position: fixed;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.floating-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-white);
  font-size: 1.5rem;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.floating-btn:hover {
  transform: scale(1.1);
  color: var(--brand-white);
}

.whatsapp-btn {
  background: #25d366;
}

.whatsapp-btn:hover {
  background: #128c7e;
}

.call-btn {
  background: var(--brand-orange);
}

.call-btn:hover {
  background: var(--brand-orange-dark);
}

@media (max-width: 767.98px) {
  .business-hero {
    padding: 1.5rem 0;
  }

  .business-title {
    font-size: 1.5rem;
  }

  .business-info {
    gap: 1rem;
    flex-direction: column;
  }

  .category-title {
    font-size: 1.25rem;
  }

  .product-actions {
    flex-direction: column;
    gap: 0.5rem;
  }

  .products-section {
    padding: 2rem 0;
  }

  .category-section {
    margin-bottom: 2rem;
    scroll-margin-top: 90px;
  }

  .floating-contacts {
    right: 1rem;
    bottom: 2rem;
    top: auto;
    transform: none;
    flex-direction: row;
  }

  .floating-btn {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }
}

.empty-state {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: .25rem;
    padding: 2rem;
}

.duka-footer {
    background: var(--brand-white);
}

.mobile-bottom-nav .nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;       /* horizontal centering */
    justify-content: center;   /* vertical centering */

    height: 60px;              /* consistent touch area */
    padding: 0.35rem 0.15rem;

    font-size: 0.72rem;
    line-height: 1.1;
    text-align: center;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-bottom-nav .nav-link i,
.mobile-bottom-nav .nav-link .fas,
.mobile-bottom-nav .nav-link .bi {
    font-size: 1rem;
    display: block;
    margin-bottom: 0.1rem;
}

.mobile-bottom-nav .nav-item {
    min-width: 0;
}
/******************** END: dukas.php & products-and-services.php Styles ********************/

.pagination-responsive {
    font-size: 0.85rem;
}

.pagination-responsive .page-link {
    padding: 0.25rem 0.5rem;
}

@media (min-width: 768px) {
    .pagination-responsive {
        font-size: 1rem;
    }

    .pagination-responsive .page-link {
        padding: 0.375rem 0.75rem;
    }
}

/******************** BEGINNING: index.php Styles ********************/
 .brand-logo {
   font-size: 1.5rem;
   font-weight: 800;
   color: var(--brand-orange);
   text-decoration: none;
 }

 .primary-search-section {
   background: var(--brand-green);
   padding: 4rem 0 3rem;
   color: var(--brand-white);
 }

 .primary-search-title {
   font-size: clamp(1.75rem, 4vw, 2.5rem);
   font-weight: 800;
   color: var(--brand-white);
   margin-bottom: 0.75rem;
 }

 .primary-search-subtitle {
   font-size: 1.1rem;
   color: rgba(255, 255, 255, 0.9);
   margin-bottom: 0;
 }

 .primary-search-box {
   background: var(--brand-white);
   border-radius: 1rem;
   padding: 1rem;
   display: flex;
   flex-wrap: wrap;
   gap: 0.75rem;
   max-width: 900px;
   margin: 0 auto;
   box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
 }

 .search-input-group {
   position: relative;
   flex: 1;
   min-width: 200px;
 }

 .search-results-dropdown {
   position: absolute;
   top: 100%;
   left: 0;
   right: 0;
   background: var(--brand-white);
   border: 1px solid var(--brand-border);
   border-top: none;
   border-radius: 0 0 0.75rem 0.75rem;
   box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
   z-index: 1000;
   max-height: 400px;
   overflow-y: auto;
 }

 .search-result-item {
   padding: 1rem;
   border-bottom: 1px solid var(--brand-border);
   cursor: pointer;
   transition: background-color 0.2s ease;
   display: flex;
   align-items: center;
   gap: 1rem;
   text-decoration: none;
   color: inherit;
 }

 .search-result-item:hover {
   background-color: var(--brand-bg);
   text-decoration: none;
   color: inherit;
 }

 .search-result-item:last-child {
   border-bottom: none;
 }

 .search-result-image {
   width: 50px;
   height: 50px;
   border-radius: 0.5rem;
   object-fit: cover;
   flex-shrink: 0;
 }

 .search-result-info {
   flex: 1;
   min-width: 0;
 }

 .search-result-name {
   font-weight: 600;
   color: var(--brand-text);
   margin-bottom: 0.25rem;
   font-size: 0.95rem;
   line-height: 1.3;
 }

 .search-result-meta {
   font-size: 0.8rem;
   color: var(--brand-muted);
   display: flex;
   align-items: center;
   gap: 0.5rem;
 }

 .search-result-category {
   padding: 0.15rem 0.5rem;
   border-radius: 0.25rem;
   font-size: 0.7rem;
   font-weight: 600;
   text-transform: uppercase;
 }

 .search-loading {
   padding: 1rem;
   text-align: center;
   color: var(--brand-muted);
   font-size: 0.9rem;
 }

 .search-no-results {
   padding: 1rem;
   text-align: center;
   color: var(--brand-muted);
   font-size: 0.9rem;
 }

 .search-view-all {
   padding: 1rem;
   text-align: center;
   border-top: 1px solid var(--brand-border);
   background: var(--brand-bg);
 }

 .search-view-all a {
   color: var(--brand-green);
   text-decoration: none;
   font-weight: 600;
   font-size: 0.9rem;
 }

 .search-view-all a:hover {
   color: var(--brand-green-dark);
 }

 .search-icon {
   position: absolute;
   left: 1rem;
   top: 50%;
   transform: translateY(-50%);
   color: var(--brand-muted);
   font-size: 1.1rem;
 }

 .search-input {
   padding-left: 2.75rem;
   border: 1px solid var(--brand-border);
   border-radius: 0.75rem;
   height: 54px;
   font-size: 1rem;
 }

 .search-input:focus {
   border-color: var(--brand-green);
   box-shadow: 0 0 0 0.2rem rgba(24, 128, 80, 0.15);
 }

 .search-btn {
   padding: 0 2.5rem;
   height: 54px;
   border-radius: 0.75rem;
   font-weight: 700;
   white-space: nowrap;
 }

 .section-title {
   font-size: 1.75rem;
   font-weight: 800;
   color: var(--brand-text);
   margin-bottom: 1.5rem;
 }

 .featured-section {
   padding: 4rem 0;
   background: var(--brand-white);
 }

 .featured-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 2rem;
 }

 .featured-title {
   font-size: 1.75rem;
   font-weight: 800;
   color: var(--brand-text);
   margin-bottom: 0.25rem;
 }

 .featured-subtitle {
   color: var(--brand-muted);
   font-size: 0.95rem;
 }

 .explore-link {
   color: var(--brand-green);
   text-decoration: none;
   font-weight: 600;
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
 }

 .explore-link:hover {
   color: var(--brand-green-dark);
 }

 .business-card {
   background: var(--brand-white);
   border: 1px solid var(--brand-border);
   border-radius: 1rem;
   overflow: hidden;
   transition: all 0.3s ease;
   height: 100%;
   display: flex;
   flex-direction: column;
 }

 .business-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
 }

 .business-image-wrapper {
   position: relative;
   overflow: hidden;
 }

 .business-badges {
   position: absolute;
   top: 0.75rem;
   left: 0.75rem;
   right: 0.75rem;
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 0.5rem;
   flex-wrap: wrap;
 }

 .verified-badge {
   background: var(--brand-green);
   color: var(--brand-white);
   padding: 0.35rem 0.75rem;
   border-radius: 999px;
   font-size: 0.8rem;
   font-weight: 600;
   display: inline-flex;
   align-items: center;
   gap: 0.35rem;
 }

 .business-content {
   padding: 0.25rem 1.25rem 1.25rem 1.25rem;
   flex: 1;
   display: flex;
   flex-direction: column;
 }

 .business-type {
   align-items: center;
   gap: 0.35rem;
   font-size: 0.75rem;
   font-weight: 700;
   letter-spacing: 0.5px;
   padding: 0.4rem 0.75rem;
 }

 .category-services {
   color: #f59e0b;
   background: rgba(245, 158, 11, 0.1);
 }

 .category-boutique {
   color: #ec4899;
   background: rgba(236, 72, 153, 0.1);
 }

 .category-technology {
   color: #3b82f6;
   background: rgba(59, 130, 246, 0.1);
 }

 .category-health {
   color: var(--brand-green);
   background: rgba(24, 128, 80, 0.1);
 }

 .category-education {
   color: #6366f1;
   background: rgba(99, 102, 241, 0.1);
 }

 .business-location {
   align-items: center;
   gap: 0.5rem;
   color: var(--brand-muted);
   font-size: 0.9rem;
   margin-bottom: 1rem;
 }

 .business-location i {
   color: var(--brand-orange);
 }

 .business-actions {
   display: flex;
   gap: 0.75rem;
 }

 .btn-view {
   flex: 1;
   padding: 0.65rem 1rem;
   border: 1px solid var(--brand-border);
   background: var(--brand-white);
   color: var(--brand-text);
   border-radius: 0.5rem;
   font-weight: 600;
   font-size: 0.9rem;
   transition: all 0.2s ease;
   text-decoration: none;
   text-align: center;
 }

 .btn-view:hover {
   border-color: var(--brand-green);
   color: var(--brand-green);
 }

 .my-dukas-section {
   background: linear-gradient(135deg, #f0f9f4 0%, #e8f5ee 100%);
   padding: 3rem 0;
   border-top: 3px solid var(--brand-green);
   border-bottom: 3px solid var(--brand-green);
 }

 .browse-categories-section {
   background: var(--brand-bg);
   padding: 4rem 0;
 }

 .category-card {
   background: var(--brand-white);
   border: 1px solid var(--brand-border);
   border-radius: 1rem;
   padding: 1.5rem 1rem;
   text-decoration: none;
   transition: all 0.3s ease;
   height: 100%;
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
 }

 .category-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
   text-decoration: none;
 }

 .category-icon {
   width: 60px;
   height: 60px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 1rem;
   font-size: 1.75rem;
 }

 .category-name {
   font-size: 0.95rem;
   font-weight: 600;
   color: var(--brand-text);
   margin-bottom: 0.5rem;
 }

 .category-count {
   font-size: 0.85rem;
   color: var(--brand-muted);
   margin: 0;
 }

 .top-towns-section {
   background: var(--brand-white);
   padding: 4rem 0;
 }

 .town-card {
   position: relative;
   border-radius: 1rem;
   overflow: hidden;
   height: 200px;
   text-decoration: none;
   transition: all 0.3s ease;
   display: block;
 }

 .town-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
   text-decoration: none;
 }

 .town-image {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .town-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(
     to top,
     rgba(0, 0, 0, 0.7),
     rgba(0, 0, 0, 0.3),
     rgba(0, 0, 0, 0.1)
   );
 }

 .town-content {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   padding: 1.25rem;
   color: white;
   z-index: 2;
 }

 .town-name {
   font-size: 1.1rem;
   font-weight: 700;
   margin-bottom: 0.25rem;
   color: white;
 }

 .town-count {
   font-size: 0.9rem;
   opacity: 0.9;
   margin: 0;
   color: white;
 }

 @media (max-width: 767.98px) {
   .primary-search-box {
     flex-direction: column;
   }

   .search-input-group {
     min-width: 100%;
   }

   .search-btn {
     width: 100%;
   }

   .featured-section {
     padding: 2.5rem 0;
   }

   .featured-header {
     flex-direction: column;
     align-items: flex-start;
     gap: 0.75rem;
   }

   .browse-categories-section {
     padding: 2.5rem 0;
   }

   .category-card {
     padding: 1.25rem 0.75rem;
   }

   .category-icon {
     width: 50px;
     height: 50px;
     font-size: 1.5rem;
     margin-bottom: 0.75rem;
   }

   .category-name {
     font-size: 0.85rem;
     margin-bottom: 0.25rem;
   }

   .category-count {
     font-size: 0.75rem;
   }

   .top-towns-section {
     padding: 2.5rem 0;
   }

   .town-card {
     height: 160px;
   }

   .town-content {
     padding: 1rem;
   }

   .town-name {
     font-size: 1rem;
     margin-bottom: 0.15rem;
   }

   .town-count {
     font-size: 0.8rem;
   }
 }
/******************** END: index.php Styles ********************/