.hero-search label {
   position: relative;
   display: grid;
   grid-template-columns: auto 1fr;
   align-items: center;
   column-gap: 7px;
   flex: 1;
   padding: 0 10px;
   border-right: 1px solid #dde3ed
}

.hero-search label .icon {
   grid-row: 1/3
}

.hero-search label input,
.hero-search label select {
   grid-column: 2;
   width: 100%;
   padding: 3px 0;
   border: 0;
   outline: 0;
   color: #6f7c8e;
   background: transparent;
   font: 10px 'DM Sans'
}

.hero-search .home-locate {
   display: flex;
   align-items: center;
   gap: 4px;
   margin-left: 7px;
   padding: 10px 9px;
   color: #155bd7;
   background: #edf4ff;
   border: 0;
   border-radius: 7px;
   font-size: 9px;
   font-weight: 800
}

.hero-search .home-locate svg {
   width: 13px
}

.trend a,
.cat,
.card h3 a,
.offers a,
.emergency a {
   text-decoration: none
}

.cat,
.card h3 a,
.emergency a {
   color: inherit
}

.home-image-empty {
   display: grid;
   place-items: center;
   width: 100%;
   height: 125px;
   color: #8ba0bd;
   background: #edf2f7
}

.home-image-empty svg {
   width: 33px
}

.home-card-actions {
   display: flex;
   border-top: 1px solid #e6eaf0
}

.home-card-actions a {
   flex: 1;
   padding: 10px;
   color: #155bd7;
   font-size: 9px;
   font-weight: 800;
   text-align: center;
   text-decoration: none
}

.home-card-actions a+a {
   border-left: 1px solid #e6eaf0
}

.em small {
   display: block;
   margin: 3px 0;
   color: #7b8798;
   font-size: 8px;
   font-weight: 500
}

@media(max-width:600px) {
   .hero-search label {
      padding: 8px 5px;
      border: 0;
      border-bottom: 1px solid #e6eaf0
   }

   .hero-search .home-locate {
      width: 100%;
      justify-content: center;
      margin: 8px 0 0
   }
}

/* Homepage layout safeguards. Keep these rules in the last-loaded stylesheet so
   Bootstrap's generic card styles cannot resize category and business images. */
main>.section {
   clear: both;
   position: relative;
   overflow: hidden;
   padding: 18px 0 24px;
   border-bottom: 1px solid #e8ecf3
}

main>.section .section-title {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 19px
}

main>.section .cats {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
   gap: 13px;
   text-align: center
}

main>.section .cat {
   display: block;
   min-width: 0;
   color: inherit;
   text-decoration: none
}

main>.section .cat-icon {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   height: 64px;
   overflow: hidden;
   border: 1px solid #e8ecf1;
   border-radius: 12px;
   background: linear-gradient(135deg, #f3fffb, #fff)
}

main>.section .cat-icon img {
   display: block;
   width: 100%;
   height: 100%;
   max-width: 100%;
   object-fit: cover;
   border-radius: inherit
}

main>.section .cat p {
   margin: 7px 0 0;
   font-size: 12px;
   font-weight: 700;
   line-height: 1.35
}

main>.section .cards {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   align-items: stretch;
   gap: 18px;
   width: 100%
}

main>.section .cards>.card {
   display: flex;
   position: relative;
   min-width: 0;
   overflow: hidden;
   margin: 0;
   border: 1px solid #e1e7f0;
   border-radius: 14px;
   background: #fff;
   box-shadow: 0 5px 18px rgba(24, 48, 83, .07);
   transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

main>.section .cards>.card:hover {
   border-color: #cbd9ed;
   box-shadow: 0 12px 28px rgba(24, 48, 83, .13);
   transform: translateY(-3px)
}

main>.section .service {
   height: 395px;
   flex-direction: column
}

main>.section .service>a:first-child {
   display: block;
   float: none;
   width: 100%;
   height: 150px;
   flex: 0 0 150px;
   overflow: hidden;
   background: #edf2f7
}

main>.section .service>a:first-child>img {
   display: block;
   float: none;
   width: 100%;
   height: 100%;
   max-width: 100%;
   object-fit: cover;
   transition: transform .3s ease
}

main>.section .service:hover>a:first-child>img {
   transform: scale(1.035)
}

main>.section .service>a:first-child>.home-image-empty {
   height: 100%
}

main>.section .service>.detail {
   height: auto;
   min-height: 0;
   flex: 1;
   margin: 0;
   padding: 13px 14px 54px
}

main>.section .service .verified {
   display: inline-flex;
   align-items: center;
   gap: 4px;
   padding: 4px 7px;
   border-radius: 99px;
   font-size: 9px;
   font-weight: 800
}

main>.section .service .verified svg {
   width: 12px;
   height: 12px
}

main>.section .service .verified i {
   width: 12px;
   font-size: 11px;
   text-align: center
}

main>.section .service .detail h3 {
   margin: 8px 0 5px;
   font-size: 14px;
   line-height: 1.3
}

main>.section .service .detail h3 a {
   display: -webkit-box;
   overflow: hidden;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2
}

main>.section .service .rating {
   display: flex;
   align-items: center;
   gap: 4px;
   margin: 0 0 8px;
   color: #ed9200;
   font-size: 11px
}

main>.section .service .rating svg {
   width: 13px;
   height: 13px;
   fill: #ffb21d;
   stroke: #ff9f12
}

main>.section .service .rating i {
   width: 13px;
   color: #ff9f12;
   font-size: 11px;
   text-align: center
}

main>.section .service .rating span {
   margin-left: 2px;
   color: #7b8798
}

main>.section .home-card-meta {
   display: grid;
   gap: 6px;
   color: #66748a;
   font-size: 9px
}

main>.section .home-card-meta>span {
   display: flex;
   align-items: flex-start;
   gap: 6px;
   min-width: 0;
   line-height: 1.4
}

main>.section .home-card-meta>span:nth-child(2) {
   display: -webkit-box;
   overflow: hidden;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2
}

main>.section .home-card-meta svg {
   flex: 0 0 13px;
   width: 13px;
   height: 13px;
   color: #6c86ac
}

main>.section .home-card-meta i {
   flex: 0 0 13px;
   width: 13px;
   color: #6c86ac;
   font-size: 11px;
   line-height: 1.3;
   text-align: center
}

main>.section .service .chip {
   display: inline-flex;
   align-items: center;
   gap: 4px;
   margin-top: 8px
}

main>.section .service .chip svg {
   width: 12px;
   height: 12px
}

main>.section .service .chip i {
   font-size: 10px
}

main>.section .service>.home-card-actions {
   position: absolute !important;
   right: 0 !important;
   bottom: 0 !important;
   left: 0 !important;

   z-index: 50 !important;

   display: flex !important;
   width: auto !important;
   min-height: 44px;
   margin: 0;

   background: #fff;
   border-top: 1px solid #e7ecf3;

   pointer-events: auto !important;
}

main>.section .home-card-actions a {
   display: flex !important;
   align-items: center;
   justify-content: center;
   gap: 6px;
   flex: 1 1 0 !important;
   width: auto !important;
   min-width: 0;
   min-height: 44px;
   padding: 8px 6px;
   color: #155bd7 !important;
   background: #fff;
   font-size: 10px;
   font-weight: 800;
   line-height: 1.2;
   text-align: center;
   text-decoration: none;
   visibility: visible;
   opacity: 1
}

main>.section .home-card-actions a:hover {
   background: #f2f6ff
}

main>.section .home-card-actions a+a {
   border-left: 1px solid #e7ecf3
}

main>.section .home-card-actions a.whatsapp-action {
   color: #11824d !important
}

main>.section .home-card-actions a.whatsapp-action:hover {
   background: #effbf5
}

main>.section .home-card-actions svg {
   flex: 0 0 14px;
   width: 14px;
   height: 14px
}

main>.section .home-card-actions i {
   flex: 0 0 14px;
   width: 14px;
   font-size: 12px;
   text-align: center
}

main>.section .service svg {
   display: inline-block;
   fill: none;
   stroke: currentColor;
   stroke-width: 1.8;
   stroke-linecap: round;
   stroke-linejoin: round;
   vertical-align: middle
}

main>.section .service .rating svg {
   fill: #ffb21d
}

main>.section .nearby {
   display: flex;
   height: 255px;
   flex-direction: column;
   color: inherit;
   text-decoration: none
}

main>.section .nearby>img {
   display: block;
   float: none;
   width: 100%;
   height: 128px;
   max-width: 100%;
   object-fit: cover
}

main>.section .nearby>.detail {
   height: auto;
   margin-left: 0;
   padding: 12px;
   
}

@media(max-width:1000px) {
   main>.section .cards {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }
}

@media(max-width:760px) {
   main>.section .cards {
      display: flex;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      padding: 3px 2px 12px
   }

   main>.section .cards>.card {
      flex: 0 0 275px;
      scroll-snap-align: start
   }
}

@media(max-width:600px) {
   main>.section .cat-icon {
      height: 58px
   }
}