@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap";
@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap";

.footer {
  background: #2c3e50;
  color: #fff;
  padding: 4rem 0 2rem;
  margin-top: auto
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem
}

.footer-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 3rem;
  margin-bottom: 2rem
}

.footer-section h3 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  color: #fff
}

.footer-section p,
.footer-section li {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #ecf0f1;
  margin-bottom: .8rem
}

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

.footer-section a {
  color: #ecf0f1;
  text-decoration: none;
  transition: color .3s ease
}

.footer-section a:hover {
  color: #3498db
}

.footer-bottom {
  border-top: 1px solid #34495e;
  padding-top: 2rem;
  text-align: center
}

.footer-bottom p {
  font-size: 1.3rem;
  color: #bdc3c7;
  margin: 0
}

.social-links {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem
}

.social-links a {
  width: 40px;
  height: 40px;
  background: #34495e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s ease
}

.social-links a:hover {
  background: #3498db
}
.profile-button-container {
    display: flex;
    gap: 1.5rem;
    margin-top: 2rem;
    justify-content: center;
    align-items: center;
}
.save-btn {
    background: #2b6991;
    color: white;
}
a.btn.black.arrow:hover, a.btn.arrow.h50:hover, a.btn.white:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px #ff6b3566;
}


.profile-action-btn {
    padding: 1.2rem 2.4rem;
    border-radius: 8px;
    font-size: 1.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    text-align: center;
    border: none;
    min-width: 150px;
    justify-content: center;
}
.profile-action-btn {
    padding: 1.2rem 2.4rem;
    border-radius: 8px;
    font-size: 1.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    text-align: center;
    border: none;
    min-width: 150px;
    justify-content: center;
}
.cancel-btn {
    background: #2b6991;
    color: white;
}
.video-grid-container iframe,
.video-frame iframe,
iframe[src*="youtube.com"],
iframe[src*="youtu.be"] {
  width: 100% !important;
  aspect-ratio: 16 / 9;       
  height: auto !important;
  display: block;
  border: none;
  object-fit: cover;
  border-radius: 1rem;         
  background: #000;           
  overflow: hidden;
}

/* Optional: ensure parent container adjusts properly */
.video-grid-container,
.video-frame {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.appdownload{
    cursor: pointer;
}
@media (max-width: 768px) {
  .footer {
    padding: 1rem 0 1rem
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .footer-section h3 {
    font-size: 1.6rem
  }

  .footer-section p,
  .footer-section li {
    font-size: 1.3rem
  }
}

.check-mark {
  width: 1.4rem;
  height: 1.4rem;
  background-image: url(../images/corelene-greencheck.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto
}

.cross-mark {
  width: 1.4rem;
  height: 1.4rem;
  background-image: url(../images/corelene-cross.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto
}

.btn.arrow,
.demo-form-submit.arrow {
  background-image: url(../images/white-arrow.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 89% center !important;
  padding-right: 4rem !important
}

.buy-header .whatsapp-card {
  flex: 0 0 50%;
  border-radius: 2rem;
  padding: 6rem;
  color: var(--white);
  position: relative;
  overflow: hidden;
  background: linear-gradient(#0000, #0000), url(../images/shop-on-whats-app.jpg);
  min-height: 31rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.help-card {
  background: linear-gradient(#0000, #0000), url(../images/security.png);
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.demo-card {
  background: linear-gradient(#0000, #0000), url(../images/demo.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.app-card {
  background: linear-gradient(#0000, #0000), url(../images/download-app-banner.jpg);
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.demo-form select {
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1.5rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none
}

.testimonial-grid .video-card:nth-child(1) {
  background-image: url(../images/home/expressive-man-using-smartphone-selfie.jpg)
}

.testimonial-grid .video-card:nth-child(2) {
  background-image: url(../images/home/pov-content-creator-reviewing-smartphone-product-camera.jpg)
}

.testimonial-grid .video-card:nth-child(4) {
  background-image: url(../images/home/expressive-man-using-smartphone-selfie.jpg)
}

.testimonial-grid .video-card:before {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 70%;
  width: 100%;
  content: "";
  background: url(../images/transparent.png) no-repeat 0 0;
  background-size: 100% 100%
}

.cart-hero-section:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: url(/images/home/Smart-Locks-with-Hero-Service.jpg) no-repeat right center;
  background-size: contain;
  opacity: .3;
  z-index: 1
}

.testimonials-hero {
  position: relative;
  min-height: 40rem;
  background: linear-gradient(#0006, #0009), url(../../images/testimonial-banner-corelense_1753275030199.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.surveillance-banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../../images/security-banner.png) center/cover;
  opacity: .3;
  z-index: 1
}

:root {
  --primary-blue: #4a90e2;
  --light-blue: #f0f7ff;
  --dark-blue: #2c5aa0;
  --text-gray: #666666;
  --border-gray: #e5e5e5;
  --white: #ffffff;
  --black80: #333333;
  --lightgray: #f8f9fa
}

.video-slider {
  width: 100%;
  position: relative;
  aspect-ratio: 1323/600
}

.video-slider .owl-item {
  opacity: 1;
  transition: opacity .8s ease-in-out
}

.video-slider .fadeOut {
  animation-name: fadeOut;
  animation-duration: .8s;
  animation-fill-mode: both
}

.video-slider .fadeIn {
  animation-name: fadeIn;
  animation-duration: .8s;
  animation-fill-mode: both
}

.video-slider .slide-item {
  width: 100%;
  display: block;
  height: 100%
}

.video-slider .slide-item img {
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 4px 20px #0000001a;
  display: block
}

.video-sec .slider {
  position: relative;
  width: 100%;
  aspect-ratio: 1323/600;
  background: transparent;
  margin-bottom: 50px
}

.video-slider.owl-carousel {
  aspect-ratio: 1323/600
}

.video-slider.owl-carousel .owl-stage-outer,
.video-slider.owl-carousel .owl-stage,
.video-slider.owl-carousel .owl-item {
  height: 100%
}

.video-slider .owl-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none
}

.video-slider .owl-nav button {
  background: #ffffffe6 !important;
  color: #333 !important;
  border: none !important;
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  pointer-events: auto;
  transition: all .3s ease;
  box-shadow: 0 2px 10px #0003
}

.video-slider .owl-nav button:hover {
  background: #fff !important;
  transform: scale(1.1)
}

.video-slider .owl-nav .prev-arrow,
.video-slider .owl-nav .next-arrow {
  line-height: 1
}

.video-slider .owl-dots {
  text-align: center !important;
  margin-top: 25px !important;
  position: absolute !important;
  bottom: -40px !important;
  left: 50% !important;
  transform: translate(-50%) !important;
  width: 100% !important;
  z-index: 999 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important
}

.video-slider .owl-dot {
  display: inline-block !important;
  margin: 0 8px !important;
  border-radius: 50% !important;
  background: gray !important;
  cursor: pointer !important;
  transition: all .4s ease !important;
  border: 2px solid transparent !important
}

.video-slider .owl-dot span {
  display: none !important
}

.video-slider .owl-dot.active {
  background: #000 !important;
  transform: scale(1.2) !important;
  border-color: #000 !important
}

.video-slider .owl-dot.active span {
  background: #000 !important
}

.video-slider .owl-dot:hover {
  background: #333 !important;
  transform: scale(1.1) !important
}

.video-slider .owl-dot:hover span {
  background: #333 !important
}

.video-slider.owl-carousel .owl-dots {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  bottom: -40px !important;
  left: 50% !important;
  transform: translate(-50%) !important;
  z-index: 999 !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important
}

.video-slider.owl-carousel .owl-dots .owl-dot {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 8px !important;
  background-color: #5658584d !important;
  color: #fff !important;
  font-size: 12px !important;
  padding: 2px 5px !important;
  border-radius: 3px !important;
  line-height: normal !important;
  cursor: pointer !important;
  transition: all .4s ease !important;
  border: 2px solid transparent !important
}

.video-slider.owl-carousel .owl-prev,
.owl-next {
  display: none
}

.video-slider.owl-carousel .owl-dots .owl-dot span {
  display: none !important
}

.video-slider.owl-carousel .owl-dots .owl-dot.active {
  background: #000 !important;
  transform: scale(1) !important;
  border-color: #000 !important;
  width: 12px !important;
  height: 8px !important
}

@media (max-width: 768px) {
  .video-slider .owl-nav button {
    width: 40px !important;
    height: 40px !important;
    font-size: 18px !important
  }

  .video-slider .owl-nav {
    padding: 0 10px
  }

  .video-slider .owl-dots {
    text-align: center !important;
    margin-top: 2rem !important;
    padding: 0 !important
  }

  .video-slider .owl-dots .owl-dot {
    display: inline-block !important;
    margin: 0 8px !important;
    cursor: pointer !important
  }

  .video-slider .owl-dots .owl-dot span {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: #ffffff80 !important;
    display: block !important;
    transition: all .3s ease !important;
    border: 2px solid transparent !important
  }

  .video-slider .owl-dots .owl-dot.active span {
    background: #fff !important;
    border-color: #2d7cbf !important;
    transform: scale(1.2) !important
  }

  .video-slider .owl-dots .owl-dot:hover span {
    background: #fffc !important;
    transform: scale(1.1) !important
  }
}

.breadcrumb-container {
  padding: 0;
  margin: 0
}

.breadcrumb-items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.6rem;
  line-height: 1.5;
  justify-content: center
}

.legal-container ul {
  list-style-type: disc
}

.legal-container li {
  display: list-item;
  text-align: -webkit-match-parent;
  unicode-bidi: isolate
}

.breadcrumb-link {
  color: #fff;
  text-decoration: underline;
  transition: all .3s ease;
  opacity: .9
}

.breadcrumb-link:hover {
  color: #fff;
  opacity: 1;
  text-decoration: underline
}

.breadcrumb-current {
  color: #fff;
  font-weight: 500;
  opacity: 1
}

@media (max-width: 767px) {
  .breadcrumb-items {
    font-size: 1.4rem
  }

  .breadcrumb-separator {
    margin: 0 .5rem
  }
}

.btn.arrow,
.demo-form-submit.arrow {
  background-image: url(../images/white-arrow.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 89% center !important;
  padding-right: 4rem !important
}

.btn.white {
  background: var(--white);
  color: var(--black90) !important;
  background-image: url(../images/black-arrow.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 89% center !important
}

.buy-header .whatsapp-card {
  flex: 0 0 50%;
  border-radius: 2rem;
  padding: 6rem;
  color: var(--white);
  position: relative;
  overflow: hidden;
  background: linear-gradient(#0000, #0000), url(../images/shop-on-whats-app.jpg);
  min-height: 31rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.help-card {
  background: linear-gradient(#0000, #0000), url(../images/security.png);
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.demo-card {
  background: linear-gradient(#0000, #0000), url(../images/demo.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.app-card {
  background: linear-gradient(#0000, #0000), url(../images/download-app-banner.jpg);
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.demo-form select {
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1.5rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none
}

.testimonial-grid .video-card:nth-child(1) {
  background-image: url(../images/home/expressive-man-using-smartphone-selfie.jpg)
}

.testimonial-grid .video-card:nth-child(2) {
  background-image: url(../images/home/pov-content-creator-reviewing-smartphone-product-camera.jpg)
}

.testimonial-grid .video-card:nth-child(4) {
  background-image: url(../images/home/expressive-man-using-smartphone-selfie.jpg)
}

.testimonial-grid .video-card:before {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 70%;
  width: 100%;
  content: "";
  background: url(../images/transparent.png) no-repeat 0 0;
  background-size: 100% 100%
}

.check-mark {
  width: 1.4rem;
  height: 1.4rem;
  background-image: url(../images/corelene-greencheck.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto
}

.cross-mark {
  width: 1.4rem;
  height: 1.4rem;
  background-image: url(../images/corelene-cross.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto
}

.cart-hero-section:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: url(/images/home/Smart-Locks-with-Hero-Service.jpg) no-repeat right center;
  background-size: contain;
  opacity: .3;
  z-index: 1
}

.testimonials-hero {
  position: relative;
  min-height: 40rem;
  background: linear-gradient(#0006, #0009), url(../../images/testimonial-banner-corelense_1753275030199.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.surveillance-banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../../images/security-banner.png) center/cover;
  opacity: .3;
  z-index: 1
}

.category-page {
  min-height: 100vh
}

.category-banner-section {
  position: relative;
  min-height: 50rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}
a.ContactWhatsup {
    font-size: 1.8rem;
    font-weight: 600;
    color: #333333;
}
.banner-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;
  background: var(--blue);
  background-position: center top -16rem;
    background-repeat: no-repeat;
}

.banner-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8rem 0
}

.banner-content {
  text-align: center;
  color: #fff;
  max-width: 80rem;
  justify-content: center;
  align-items: center;
  display: inline
}

.banner-title {
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .3)
}

.banner-subtitle {
  display: block
}

.banner-description {
  font-size: 1.6rem;
  line-height: 1.2;
  opacity: .9;
  max-width: 60rem;
  margin: 0 auto
}

.smart-lock-section {
  padding: 6rem 0;
  background: #f9f9f9
}

.smart-lock-container {
  display: flex;
  align-items: flex-start;
  gap: 9rem;
  max-width: 142rem;
  margin: 0 auto;
  padding: 0 2rem;
  align-items: center
}

.how-it-works-feature-card:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 40%;
  z-index: 1;
  background-image: linear-gradient(#fffefe, #ffffff08)
}

.smart-lock-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 6rem 0px;
  flex-direction: column;
  text-align: center;
  width: 100%
}

.smart-lock-title {
  font-size: 4.2rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0;
  text-transform: capitalize;
  letter-spacing: 2px;
  line-height: 1.2
}

.smart-lock-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box
}

.smart-lock-card {
  background: var(--white);
  border-radius: 1.5rem;
  padding: 0;
  text-align: center;
  position: relative;
  transition: all .3s ease;
  border: none;
  min-height: 39rem;
  display: flex;
  flex-direction: column;
  width: 32rem;
  max-width: 32rem;
  overflow: hidden
}

.smart-lock-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px #0000001f
}

.smart-lock-card .new-badge {
  position: absolute;
  top: 2rem;
  right: 2rem;
  background: #e74c3c;
  color: #fff;
  padding: .4rem .8rem;
  border-radius: 1.8rem;
  font-size: 1.4rem;
  font-weight: 400;
  text-transform: capitalize;
  z-index: 1;
  box-shadow: 0 2px 8px #e74c3c4d;
  min-width: 4.9rem;
  height: 2.9rem;
  line-height: 1.5
}

.smart-lock-image {
  height: 24rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #d9efff;
  margin: 0;
  padding: 0rem;
  position: relative;
  flex-shrink: 0
}

.smart-lock-image img {
  max-width: 17rem;
  max-height: 100%;
  object-fit: contain
}

.smart-lock-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
  background: var(--white)
}

.smart-lock-name {
  font-size: 1.6rem;
  font-weight: 500;
  color: #2c3e50;
  margin-bottom: .5rem;
  line-height: 1.3;
  text-align: center
}

.smart-lock-description {
  font-size: 1.4rem;
  color: #666;
  margin-bottom: .5rem;
  line-height: 1.4;
  text-align: center
}

.smart-lock-description em {
  font-style: italic
}

.smart-lock-rating {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.5rem
}

.smart-lock-rating .stars {
  display: flex;
  gap: 1px
}

.smart-lock-rating .star {
  font-size: 2.2rem;
  color: #ddd
}

.star.half {
  position: relative;
  display: inline-block;
  color: #ccc
}

.star.half:before {
  content: "★";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  overflow: hidden;
  color: #ffc107
}

.smart-lock-rating .star.filled {
  color: #ffc107
}

.smart-lock-rating .rating-value {
  font-size: 1.2rem;
  color: #666;
  font-weight: 500
}

.smart-lock-rating .rating-count {
  display: flex;
  align-items: center;
  gap: .2rem;
  font-size: 1.1rem;
  color: #666
}

.smart-lock-rating .star-icon {
  font-size: 1rem
}

.smart-lock-footer {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 1rem;
  margin-top: auto;
  padding-top: 1rem
}

.smart-lock-price {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--black80);
  text-align: left
}

.original-price-strikethrough {
  text-decoration: line-through !important;
  color: #999 !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  position: relative !important
}

.original-price-strikethrough:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #999;
  transform: translateY(-50%)
}

.discount-percentage {
  color: #e74c3c !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  background: #fff5f5 !important;
  padding: .2rem .5rem !important;
  border-radius: .3rem !important;
  white-space: nowrap
}

.price-container {
  display: flex !important;
  align-items: center !important;
  gap: .8rem !important;
  flex-wrap: wrap !important
}

.smart-lock-cart-btn {
  background: #2980b9;
  color: #fff;
  border: none;
  padding: 1.1rem 2.4rem;
  border-radius: .5rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  font-size: 1.6rem;
  text-transform: capitalize;
  white-space: nowrap
}

.smart-lock-cart-btn:hover {
  background: #357abd;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px #4a90e24d
}

.smart-lock-cart-btn:disabled {
  background: #ccc !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important
}

.quantity-cart-container {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  width: 100%
}

.quantity-selector {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: #f8f9fa;
  border-radius: .6rem;
  padding: .3rem
}

.qty-btn {
  background: #f8f9fa;
  border: none;
  padding: .8rem 1.2rem;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 600;
  color: #333;
  transition: all .2s ease;
  min-width: 4rem
}

.qty-btn:hover:not(:disabled) {
  background: #e9ecef
}

.qty-btn:disabled {
  background: #f5f5f5;
  color: #999;
  cursor: not-allowed
}

.qty-input {
  border: none;
  text-align: center;
  padding: .8rem;
  font-size: 1.4rem;
  font-weight: 500;
  width: 6rem;
  outline: none;
  background: #fff
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0
}

.qty-input[type=number] {
  -moz-appearance: textfield
}

.add-to-cart-final-btn {
  background: var(--primary-blue);
  color: #fff;
  border: none;
  padding: .8rem 1.5rem;
  border-radius: .6rem;
  font-size: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}

.add-to-cart-final-btn:hover {
  background: #0056b3;
  transform: translateY(-1px)
}

.category-products-section {
  padding: 6rem 0;
  background: var(--white)
}

.category-header {
  text-align: left;
  padding-left: 0
}

.category-header .section-title {
  font-size: 4.5rem;
  font-weight: 900;
  color: var(--black80);
  margin: 0;
  text-transform: capitalize;
  letter-spacing: 2px;
  position: relative;
  line-height: 1.1;
  border: none
}

.category-page .section-title {
  border: none
}

.section-title:after {
  display: none !important
}

.products-grid {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: stretch;
  margin-top: 0
}

.product-card {
  background: linear-gradient(135deg, #b3d9f2, #e8f4f8);
  border-radius: 2rem;
  padding: 2rem;
  text-align: center;
  position: relative;
  transition: all .3s ease;
  box-shadow: 0 8px 30px #00000014;
  border: none;
  min-height: 42rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  max-width: 32rem
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px #00000026
}

.new-badge {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: #e74c3c;
  color: #fff;
  padding: .6rem 1.2rem;
  border-radius: 1.5rem;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: capitalize;
  z-index: 2;
  box-shadow: 0 4px 15px #e74c3c66
}

.product-image {
  height: 22rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  background: #fff6;
  border-radius: 1.5rem;
  padding: 2rem;
  position: relative;
  flex-shrink: 0
}

.product-image img {
  max-width: 85%;
  max-height: 85%;
  object-fit: contain;
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, .1))
}

.product-name {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--black80);
  margin-bottom: .8rem;
  line-height: 1.3
}

.product-description {
  font-size: 1.3rem;
  color: #666;
  margin-bottom: 1.5rem;
  line-height: 1.5;
  flex-grow: 1
}

.product-rating {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .3rem;
  margin-bottom: 2rem
}

.star {
  font-size: 2.2rem;
  color: #ddd
}

.star.filled {
  color: #ffc107
}

.rating-text {
  margin-left: 1rem;
  font-size: 1.3rem;
  color: #666;
  font-weight: 500
}

.product-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-top: auto;
  padding-top: 1.5rem
}

.product-price {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--black80)
}

.add-to-cart-btn {
  background: #313131;
  color: #fff;
  border: none;
  padding: 1.2rem 2.4rem;
  border-radius: .8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  font-size: 1.3rem;
  text-transform: capitalize;
  letter-spacing: .5px
}

.add-to-cart-btn:hover {
  background: #1a1a1a;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #3131314d
}

.why-it-works-blue-section {
  padding: 6rem 0;
  background: linear-gradient(135deg, #0d1f3c, #1a365d);
  color: #fff;
  position: relative
}

.why-it-works-content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 4rem;
  gap: 4rem
}

.why-it-works-text {
  flex: 0 0 35%;
  max-width: 35%
}

.why-it-works-title {
  font-size: 4.2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2rem;
  text-transform: capitalize;
  line-height: 1.1;
  letter-spacing: 2px
}

.why-it-works-description {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #fff;
  opacity: .95;
  font-weight: 400;
  max-width: 100%;
  padding-right: 2rem
}

.why-it-works-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  flex: 1
}

.why-feature-card {
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 6px 20px #0000001f;
  transition: all .3s ease;
  position: relative;
  height: 28rem;
  display: flex;
  flex-direction: column
}

.why-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px #0000002e
}

.why-feature-header {
  padding: 1.5rem 1.5rem 1rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: #fff;
  position: relative;
  z-index: 2
}

.why-feature-title-group {
  flex: 1
}

.why-feature-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--black80);
  line-height: 1.2;
  text-transform: capitalize;
  margin-bottom: .3rem
}

.why-feature-subtitle {
  font-size: .9rem;
  font-weight: 500;
  color: #666;
  text-transform: capitalize;
  opacity: .8
}

.why-feature-icon {
  font-size: 2.2rem;
  color: var(--skyblue);
  flex-shrink: 0
}

.why-feature-image {
  position: relative;
  height: 18rem;
  overflow: hidden;
  flex: 1
}

.why-feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.why-feature-overlay {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  right: 2rem;
  background: #000c;
  padding: 1.5rem;
  border-radius: 1rem;
  transform: translateY(100%);
  opacity: 0;
  transition: all .3s ease
}

.why-feature-card:hover .why-feature-overlay {
  transform: translateY(0);
  opacity: 1
}

.why-feature-overlay-title {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0;
  text-align: center;
  text-transform: capitalize
}

.how-it-works-section {
  background: var(--white);
  padding: 0rem 2rem
}

.how-it-works-section .section-title {
  text-align: center;
  font-size: 4.2rem;
  font-weight: 700;
  color: var(--black);
  text-transform: capitalize;
  letter-spacing: 1px
}

.how-it-works-section .section-subtitle {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 600;
  color: #ff6868;
  margin-bottom: 4rem;
  line-height: 1.5
}

.steps-flow-container {
  position: relative;
  max-width: 120rem;
  margin: 0 auto
}

.step-flow-item {
  margin-bottom: 1rem;
  position: relative;
  z-index: 2
}

.step-flow-item:last-child {
  margin-bottom: 0
}

.step-flow-item:first-child {
  margin-top: 2rem
}

.step-flow-content {
  display: flex;
  align-items: center;
  gap: 8rem;
  position: relative;
  min-height: 22rem
}

.step-flow-item.right .step-flow-content {
  flex-direction: row-reverse
}

.step-image-container {
  flex: 0 0 auto;
  position: relative;
  z-index: 3
}

.step-image-circle {
  width: 42.5rem;
  height: 48.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative
}

.step-image-circle img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.step-text-container {
  flex: 1;
  max-width: 50rem
}

.step-flow-item.left .step-text-container {
  text-align: left
}

.step-flow-item.right .step-text-container {
  text-align: right
}

.step-flow-title {
  font-size: 3.8rem;
  font-weight: 600;
  color: var(--black80);
  margin-bottom: 2rem;
  line-height: 1.3;
  text-transform: capitalize;
  letter-spacing: .5px;
  font-family: Montserrat, sans-serif
}

.step-flow-description {
  font-size: 2.2rem;
  line-height: 1.6;
  font-weight: 600;
  background: linear-gradient(90deg, #155ed2, #5c9dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent
}

.curved-connector {
  position: relative;
  width: 100%;
  height: 6em;
  z-index: 1;
  pointer-events: none;
  margin: -2rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible
}

.connector-svg {
  width: 90%;
  height: 100%;
  overflow: visible;
  max-width: 70rem;
  margin: 0 auto
}

.connector-1,
.connector-2,
.connector-3 {
  margin-top: -1rem;
  margin-bottom: 1rem
}

@media (max-width: 1199px) {
  .step-flow-content {
    gap: 6rem
  }

  .step-image-circle {
    width: 20rem;
    height: 20rem
  }

  .connector-svg {
    width: 85%;
    max-width: 60rem
  }

  .step-flow-item {
    margin-bottom: 6rem
  }
}

@media (max-width: 1050px) {
  .smart-lock-products {
    overflow-x: auto
  }
}

@media (max-width: 991px) {
  .step-flow-content {
    flex-direction: column !important;
    text-align: center !important;
    gap: 3rem;
    min-height: auto
  }

  .step-text-container {
    text-align: center !important
  }

  .smart-lock-products {
    overflow-x: auto;
    display: flex;
    gap: 2rem;
    justify-content: center;
    align-items: center;
    flex-direction: column
  }

  .step-image-circle {
    width: 18rem;
    height: 18rem
  }

  .step-flow-item {
    margin-bottom: 6rem
  }

  .curved-connector {
    display: none
  }
}

@media (max-width: 767px) {
  .how-it-works-section {
    padding: 4rem 1.5rem
  }

  .how-it-works-section .section-title {
    font-size: 3.2rem;
    margin-bottom: 4rem
  }

  .step-image-circle {
    width: 16rem;
    height: 16rem
  }

  .step-flow-item {
    margin-bottom: 4rem
  }

  .step-flow-title {
    font-size: 4.3rem;
    font-weight: 600;
    color: var(--black80);
    margin-bottom: 2rem;
    line-height: 1.3;
    text-transform: capitalize;
    letter-spacing: .5px
  }

  .step-flow-description {
    font-size: 1.4rem
  }

  .step-flow-content {
    gap: 2rem
  }
}

@media (max-width: 480px) {
  .step-image-circle {
    width: 20rem;
    height: 20rem
  }

  .step-flow-title {
    font-size: 1.8rem
  }

  .step-flow-description {
    font-size: 1.3rem
  }
}

.why-choose-us-section {
  padding: 8rem 0;
  background: linear-gradient(135deg, #f8f9fc, #e3f2fd)
}

.why-choose-us-section .section-title {
  text-align: center;
  font-size: 4rem;
  font-weight: 900;
  color: var(--black80);
  margin-bottom: 6rem;
  text-transform: capitalize
}

.choose-us-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  max-width: 120rem;
  margin: 0 auto
}

.choose-us-card {
  background: #fff;
  padding: 4rem 3rem;
  border-radius: 2rem;
  text-align: center;
  box-shadow: 0 4px 20px #0000000d;
  transition: all .3s ease
}

.choose-us-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px #00000026
}

.feature-icon-bg {
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 2rem
}

.feature-icon-bg .feature-icon {
  font-size: 3rem;
  color: #fff
}

.choose-us-card .feature-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--black80);
  line-height: 1.4;
  text-transform: capitalize;
  text-align: center
}

.why-choose-us-category-section {
  padding: 6rem 0;
  background: #fff;
  width: 100%
}

.inner-wrap.why-choose-us-container {
  max-width: 140rem;
  margin: 0 auto;
  padding: 5rem 2rem 7rem;
  background: #d6eaf8;
  border-radius: 3rem
}

.why-choose-us-title {
  text-align: center;
  font-size: 4.2rem;
  font-weight: 700;
  color: #3498db;
  margin-bottom: 6rem;
  text-transform: capitalize;
  letter-spacing: 2px
}

.why-choose-us-cards-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6rem;
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem
}

.why-choose-us-card {
  background: #fff;
  border-radius: 2rem;
  padding: 2rem 2rem 0rem;
  text-align: center;
  box-shadow: 0 8px 25px #00000014;
  transition: all .3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 22rem;
  width: 34rem;
  max-width: 34rem;
  flex: 0 0 auto
}

.why-choose-us-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px #00000026
}

.why-choose-us-card:nth-child(4),
.why-choose-us-card:nth-child(5) {
  grid-column: span 1
}

.card-heading {
  font-size: 2.4rem;
  font-weight: 600;
  color: var(--black80);
  margin-bottom: 1rem;
  line-height: 3rem;
  text-transform: capitalize
}

.card-icon-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0;
  min-height: 8rem
}

.card-icon-image {
  width: 6rem;
  height: 6rem;
  object-fit: contain;
  transition: transform .3s ease
}

.why-choose-us-card:hover .card-icon-image {
  transform: scale(1.1)
}

.card-label {
  font-size: 1.8rem;
  font-weight: 700;
  color: #3498db;
  text-transform: capitalize;
  letter-spacing: 1px;
  margin-top: 1rem
}

.card-icon-container {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0rem 0
}

.card-label {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black80);
  text-transform: capitalize;
  padding: 1.5rem 0;
  background: #f8f9fa;
  margin: 0 -2rem -0rem;
  border-radius: 0 0 2rem 2rem
}

.card-icon-image {
  width: 6rem;
  height: 6rem;
  object-fit: contain;
  opacity: 1
}

.card-label {
  font-size: 3rem;
  font-weight: 600;
  padding: .2rem 0rem;
  border-radius: 1.5rem;
  text-transform: capitalize;
  letter-spacing: 1px;
  margin-top: auto;
  background: linear-gradient(90deg, #007bff, #62c2d5, #923ced);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: .5
}

.trusted-by-section {
  padding: 0rem 0 5rem;
  background: var(--white)
}

.trusted-by-title {
  text-align: center;
  font-size: 4.2rem;
  font-weight: 700;
  color: var(--black80);
  margin-bottom: 4rem;
  text-transform: capitalize;
  letter-spacing: 2px
}

.trusted-logos-container {
  border-radius: 3rem;
  padding: 4rem 0rem;
  margin: 0 0rem
}

.trusted-logos-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5.5rem;
  max-width: 140rem;
  margin: 0 auto;
  padding: 0 2rem
}

.trusted-logo-item {
  background: #d8ebf8;
  border-radius: 1.5rem;
  padding: 0rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease;
  min-height: 11rem;
  width: 24rem;
  flex: 0 0 24rem
}

.trusted-logo-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px #00000026
}

.trusted-logo-item img {
  max-width: 100%;
  max-height: 9rem;
  object-fit: contain;
  transition: all .3s ease
}

.trusted-logo-item:hover img {
  opacity: 1
}

.trusted-brands-section {
  padding: 6rem 0;
  background: var(--white);
  border-top: 1px solid #eee
}

.trusted-brands-section .section-title {
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  color: var(--black80);
  margin-bottom: 4rem;
  text-transform: capitalize
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4rem;
  align-items: center;
  opacity: .6
}

.brand-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem
}

.brand-logo img {
  max-width: 100%;
  max-height: 6rem;
  object-fit: contain;
  filter: grayscale(100%);
  transition: all .3s ease
}

.brand-logo:hover img {
  filter: grayscale(0%);
  opacity: 1
}

.how-it-works-for-you-section {
  padding: 0;
  background: #fff
}

.how-it-works-blue-area {
  background: #3388bd;
  padding: 7rem 0 15rem;
  color: #fff
}

.how-it-works-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
  max-width: 100%;
  margin: 0 auto
}

.how-it-works-left {
  flex: 0 0 30%
}

.how-it-works-main-title {
  font-size: 4.5rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  text-transform: capitalize;
  letter-spacing: 1px;
  text-align: left
}

.how-it-works-right {
  flex: 1;
  padding: 3px 12rem;

}

.how-it-works-description {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #ffffffe6
}

.how-it-works-white-area {
  padding: 8rem 0;
  z-index: 2;
  margin-top: -20rem
}

.how-it-works-cards-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 136.5rem;
  margin: 0 auto;
  padding: 0
}

.how-it-works-feature-card {
  background: #fff;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 8px 30px #0000001a;
  transition: all .3s ease;
  position: relative;
  height: 42rem
}

.how-it-works-feature-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px #0003
}

.card-header {
  padding: 1.5rem 1.5rem 1rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  border-radius: 1.5rem 1.5rem 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center
}

.card-tag-title {
  font-size: 2rem;
  font-weight: 600;
  color: #313131;
  text-transform: capitalize;
  letter-spacing: .5px;
  line-height: 1.3;
  max-width: 95%
}

.category-page.cam-sensors .card-tag-title {
  font-size: 2rem;
  color: #313131;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: .5px;
  line-height: 1.3
}

.card-icon {
  font-size: 2rem;
  flex-shrink: 0
}

.card-background-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 1.5rem
}

.card-background-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.5rem
}

.card-content-overlay {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translate(-50%);
  text-align: center;
  width: 90%;
  z-index: 4
}

.card-main-title {
  color: #fee4b2;
  font-size: 2.6rem;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 1px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin: 0;
  line-height: 1.3
}

.card-sub-title {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  text-transform: capitalize;
  letter-spacing: .5px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
  opacity: .9;
  margin-top: .5rem
}

@media (max-width: 1199px) {
  .how-it-works-cards-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem
  }

  .how-it-works-feature-card {
    height: 42rem
  }
}

@media (max-width: 767px) {
  .how-it-works-header {
    flex-direction: column;
    text-align: center;
    gap: 2rem
  }

  .smart-lock-container {
    display: flex;
    flex-direction: column;
    gap: 2rem
  }

  .how-it-works-left {
    flex: none;
    width: 100%
  }

  .how-it-works-main-title {
    font-size: 3rem
  }

  .how-it-works-cards-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem
  }

  .why-choose-us-cards-container {
    display: grid;
    gap: 2rem
  }

  .how-it-works-feature-card {
    height: 28rem
  }

  .card-tag-title,
  .card-icon,
  .card-main-title {
    font-size: 1.4rem !important
  }
}

@media (max-width: 991px) {
  .nav-tabs-container {
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0 2rem
  }

  .nav-tab.compare-btn {
    margin-left: 1rem
  }
}

.category-not-found {
  padding: 8rem 0;
  text-align: center
}

.category-not-found h1 {
  font-size: 4rem;
  color: var(--black80);
  margin-bottom: 2rem
}

.category-not-found p {
  font-size: 1.8rem;
  color: var(--gray)
}

.how-it-works-main-title {
  font-size: 4.2rem;
  margin-bottom: 2rem
}

@keyframes slideInRight {
  0% {
    transform: translate(100%);
    opacity: 0;
    scale: .8
  }

  50% {
    scale: 1.05
  }

  to {
    transform: translate(0);
    opacity: 1;
    scale: 1
  }
}

@keyframes slideOutRight {
  0% {
    transform: translate(0);
    opacity: 1;
    scale: 1
  }

  to {
    transform: translate(100%);
    opacity: 0;
    scale: .8
  }
}

.success-alert {
  position: fixed;
  top: 2rem;
  right: 2rem;
  background: linear-gradient(135deg, #28a745, #20c997);
  color: #fff;
  padding: 2rem 2.5rem;
  border-radius: 1.2rem;
  box-shadow: 0 15px 35px #28a7454d;
  z-index: 10000;
  max-width: 40rem;
  font-size: 1.5rem;
  font-weight: 600;
  border-left: 5px solid #fff;
  animation: slideInRight .4s ease
}

.product-item .pricing {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-top: 1rem
}

.product-item .current-price {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--black80)
}

.product-item .original-price {
  text-decoration: line-through !important;
  color: #999 !important;
  font-size: 1.4rem !important;
  margin-left: .8rem !important;
  opacity: .7 !important;
  position: relative !important
}

.product-item .original-price:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #999;
  transform: translateY(-50%)
}

@media (max-width: 1199px) {
  .banner-title {
    font-size: 5rem
  }

  .products-grid {
    flex-wrap: wrap;
    justify-content: center
  }

  .smart-lock-container {
    flex-direction: column;
    gap: 3rem;
    text-align: center
  }

  .smart-lock-title {
    font-size: 4rem
  }

  .smart-lock-products {
    justify-content: center;
    flex-wrap: wrap
  }

  .why-it-works-features-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem
  }

  .why-it-works-content {
    gap: 3rem
  }

  .why-it-works-text {
    flex: 0 0 40%;
    max-width: 40%
  }

  .choose-us-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem
  }

  .why-it-works-title {
    font-size: 3.8rem
  }

  .how-it-works-cards-container {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    top: -8rem
  }

  .how-it-works-main-title {
    font-size: 4rem
  }

  .how-it-works-header {
    gap: 4rem
  }
}

@media (max-width: 991px) {
  .banner-title {
    font-size: 4.5rem
  }

  .category-banner-section {
    min-height: 35rem
  }

  .how-it-works-white-area {
    padding: 4rem 0;
    z-index: 2;
    margin-top: -5rem
  }

  .products-grid {
    flex-direction: column;
    align-items: center;
    gap: 2rem
  }

  .product-card {
    max-width: 35rem;
    width: 100%
  }

  .smart-lock-container {
    gap: 2rem
  }

  .smart-lock-products {
    flex-direction: column;
    align-items: center;
    gap: 2rem
  }

  .smart-lock-card {
    max-width: 32rem;
    width: 100%
  }

  .smart-lock-title {
    font-size: 4.2rem
  }

  .why-it-works-features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
  }

  .why-it-works-content {
    flex-direction: column;
    gap: 3rem;
    margin-bottom: 3rem
  }

  .why-it-works-text {
    max-width: 100%;
    text-align: center
  }

  .why-it-works-description {
    padding-right: 0
  }

  .step-flow-content {
    flex-direction: column !important;
    text-align: center !important;
    gap: 3rem
  }

  .step-text-container {
    text-align: center !important
  }

  .step-image-circle {
    width: 16rem;
    height: 16rem
  }

  .step-flow-item {
    margin-bottom: 6rem
  }

  .curved-connector {
    display: none
  }

  .choose-us-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .brands-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem
  }

  .how-it-works-cards-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
  }

  .how-it-works-header {
    flex-direction: column;
    gap: 0;
    text-align: center
  }

  .how-it-works-right {
    padding-left: 0;
    justify-content: center
  }

  .how-it-works-description {
    text-align: center
  }

  .how-it-works-main-title {
    font-size: 3.5rem
  }

  .feature-overlay-main-title {
    font-size: 1.8rem
  }

  .feature-overlay-tag-title {
    font-size: 1.1rem
  }
}

@media (max-width: 767px) {
  .category-banner-section {
    min-height: 30rem
  }

  .how-it-works-description {
    font-size: 2rem;
    color: #d6eaf8;
    line-height: 2.8rem;
    font-weight: 400
  }

  .banner-title {
    font-size: 3rem
  }

  .banner-description {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 400
  }

  .products-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .smart-lock-section {
    padding: 4rem 0
  }

  .smart-lock-container {
    padding: 0 1.5rem
  }

  .smart-lock-title {
    font-size: 3rem
  }

  .smart-lock-card {
    max-width: 30rem;
    min-height: 40rem
  }

 

  .why-it-works-title {
    font-size: 3.5rem
  }

  .why-it-works-description {
    font-size: 1.6rem
  }

  .category-header .section-title,
  .how-it-works-section .section-title,
  .why-choose-us-section .section-title {
    font-size: 3rem
  }

  .step-flow-title {
    font-size: 2rem
  }

  .step-flow-description {
    font-size: 1.4rem
  }

  .step-image-circle {
    width: 14rem;
    height: 14rem
  }

  .step-flow-item {
    margin-bottom: 4rem
  }

  .brands-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem
  }

  .how-it-works-cards-container {
    grid-template-columns: repeat(2, 1fr);
    gap: .5rem;
    top: -2rem
  }

  .how-it-works-blue-area {
    padding: 4rem 0 3rem
  }

  .how-it-works-main-title {
    font-size: 3rem
  }

  .how-it-works-description {
    font-size: 1.4rem
  }

  .how-it-works-feature-card {
    height: 30rem
  }

  .why-choose-us-cards-container {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem
  }

  .trusted-logos-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem
  }

  .trusted-logos-container {
    margin: 0 1rem;
    padding: 3rem 1.5rem
  }

  .feature-overlay-main-title {
    font-size: 1.6rem
  }

  .feature-overlay-tag-title {
    font-size: 1rem
  }

  .feature-card-content {
    padding: 1rem
  }
}

@media (max-width: 575px) {
  .why-choose-us-cards-container {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .trusted-logos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
  }

  .why-choose-us-title,
  .trusted-by-title {
    font-size: 3rem
  }

  .card-heading {
    font-size: 1.8rem
  }
  .card-label {
    font-size: 2.4rem;
    font-weight: 600;
  }
  .why-choose-us-card{
    min-height: 18rem;
  }

  .trusted-logos-grid {
    display: grid
  }

  .trusted-logo-item {
    width: 20rem
  }

  .trusted-logo-item img {
    max-height: 7rem
  }
}

@media (max-width: 480px) {

  .banner-title,
  .features-header .section-title,
  .how-it-works-section .section-title,
  .why-choose-us-section .section-title,
  .comparison-section-title {
    font-size: 3.2rem !important;
    line-height: 1.3
  }

  .category-header .section-title {
    font-size: 3rem
  }
}

.owl-carousel,
.owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative
}

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item,
.owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%
}

.owl-carousel .owl-dots.disabled,
.owl-carousel .owl-nav.disabled {
  display: none
}

.no-js .owl-carousel,
.owl-carousel.owl-loaded {
  display: block
}

.owl-carousel .owl-dot,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
  background: 0 0;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block
}

.owl-carousel.owl-hidden {
  opacity: 0
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden
}

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.cart-page .cart-inner-container {
  max-width: 100%
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab
}

.owl-carousel.owl-rtl {
  direction: rtl
}

.owl-carousel.owl-rtl .owl-item {
  float: right
}

.owl-carousel .animated {
  animation-duration: 1s;
  animation-fill-mode: both
}

.owl-carousel .owl-animated-in {
  z-index: 0
}

.owl-carousel .owl-animated-out {
  z-index: 1
}

.owl-carousel .fadeOut {
  animation-name: fadeOut
}

.owl-height {
  transition: height .5s ease-in-out
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity .4s ease
}

.owl-carousel .owl-item .owl-lazy:not([src]),
.owl-carousel .owl-item .owl-lazy[src^=""] {
  max-height: 0
}

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d
}

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url(../images/owl.video.play-BJo37keB.png) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform .1s ease
}

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3)
}

.owl-carousel .owl-video-playing .owl-video-play-icon,
.owl-carousel .owl-video-playing .owl-video-tn {
  display: none
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity .4s ease
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%
}

.owl-theme .owl-dots,
.owl-theme .owl-nav {
  text-align: center;
  -webkit-tap-highlight-color: transparent
}

.owl-theme .owl-nav {
  margin-top: 10px;
  display: none
}

.owl-theme .owl-nav [class*=owl-] {
  color: #fff;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #d6d6d6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px
}

.owl-theme .owl-nav [class*=owl-]:hover {
  background: #869791;
  color: #fff;
  text-decoration: none
}

.owl-theme .owl-nav .disabled {
  opacity: .5;
  cursor: default
}

.owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 10px
}

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1
}

.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #d6d6d6;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity .2s ease;
  border-radius: 30px
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #869791
}

:root {
  --white: #fff;
  --deepblue: #2D7CBF;
  --slideactive: #3388bd;
  --blue: #3388bd;
  --text-white: #fff;
  --dkblue: rgba(52, 152, 219, 1);
  --skyblue: #3498DB;
  --bluegray: linear-gradient(90deg, #3498DB 0%, #5DADE2 50%, #2D7CBF 100%);
  --black: #000;
  --lightblue: #e4f1ff;
  --gray: #838383;
  --darkgray: #676767;
  --gray60: #F2F2F2;
  --lightgray: #e6e6e6;
  --gray90: #d9d9d9;
  --gray80: #939393;
  --black90: #1e1e1e;
  --black80: #313131;
  --darkblue: #04273d
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

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

img {
  vertical-align: top;
  max-width: 100%
}

a {
  text-decoration: none
}

body {
  font-family: poppins;
  font-weight: 400
}

.wrapper {
  width: 100%;
  margin: 0 auto
}

.inner-wrap {
  width: 90%;
  margin: 0 auto
}

.d-flex {
  display: flex
}

.wrapper.between-center {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.btn,
button.btn,
a.btn,
input.btn {
  background-color: var(--black80);
  color: var(--white) !important;
  padding: 1.5rem 2rem !important;
  border-radius: 10px !important;
  font-size: 2rem !important;
  line-height: 3rem !important;
  display: inline-flex !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  min-height: auto !important;
  width: auto !important;
  height: auto !important
}

.owl-theme .owl-dots {
  background: transparent !important
}

.owl-theme .owl-dots .owl-dot span {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: transparent !important;
  padding: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  display: none !important;
  margin: 5px 7px !important;
  transition: opacity .2s ease !important
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: none !important;
  display: block !important
}

.owl-theme .owl-dots .owl-dot {
  display: inline-block !important;
  zoom: 1 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 5px !important;
  border: none !important;
  background: none !important;
  font-size: 0 !important;
  line-height: 0 !important
}

.btn.arrow,
.demo-form-submit.arrow {
  background-image: url(../images/white-arrow.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 89% center !important;
  padding-right: 4rem !important
}

.btn:not(.owl-dot):not(.owl-dot span) {
  padding-right: 6rem !important;
  font-size: 1.6rem !important;
  font-weight: 500;
  line-height: 2.6rem !important;
  padding: 1.5rem 5rem 1.5rem 2rem !important
}

.owl-theme .owl-dots .owl-dot,
.owl-theme .owl-dots .owl-dot span,
.owl-theme .owl-nav [class*=owl-] {
  background-color: #5658584d !important;
  color: #fff !important;
  font-size: 12px !important;
  padding: 2px 5px !important;
  border-radius: 3px !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important
}

.owl-theme .owl-dots .owl-dot span {
  width: 0px !important;
  height: 0px !important;
  padding: 0 !important;
  margin: 5px 7px !important;
  border-radius: 30px !important;
  display: block !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background: none !important
}

.btn.h50 {
  padding-top: 1rem;
  padding-bottom: 1rem
}

.btn.white {
  background: var(--white);
  color: var(--black90) !important;
  background-image: url(../images/black-arrow.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 89% center !important
}

.title-group.center {
  text-align: center
}

.title-group.between-center .bluegray {
  background: var(--bluegray);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  flex: 0 0 40%
}

.title-group.between-center {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 4rem;
  padding: 2rem 0rem
}

.title-group.between-center .heading.bluegray {
  max-width: 45%;
  line-height: 1.15;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto
}

.title-group.between-center .slide-content {
  max-width: 100%;
  padding: 0 1%
}

.headline {
  font-size: 4.5rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0
}

.title-group.between-center .heading {
  line-height: 6.25rem
}

.title-group .heading {
  font-size: 4.5rem;
  line-height: 6rem;
  font-weight: 800
}

.title-group .heading.uppercase {
  text-transform: uppercase
}

.title-group .heading.blue-gray {
  background: var(--blue-gray);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.title-group .heading.skyblue {
  background: #d2eafb;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 4.3rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  background-clip: text;
  color: transparent;
  flex: 0 0 22%
}

.dkblue {
  background: var(--deepblue);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.title-group .subtext {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--black80)
}

.title-group .subtext.white {
  color: var(--white)
}

.title-group .divider {
  width: 35%
}

.title-group .divider .blacktext {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--black80)
}

.title-group .btn {
  margin-top: 1.6rem
}

.title-group .head-label {
  background: var(--lightgray);
  font-size: 1.6rem;
  line-height: 1.5;
  padding: .5rem 1.8rem;
  border-radius: 2rem;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 2.1rem
}

header {
  position: relative;
  z-index: 2;
  background: #fff
}

.top-header {
  background-color: var(--blue);
  padding: .6em 0
}

.contact-info {
  display: inline-flex;
  gap: 2rem
}

.contact-info a {
  font-size: 1.6rem;
  line-height: 3rem;
  color: var(--white);
  display: inline-flex;
  vertical-align: top;
  align-items: center
}

.contact-info a img {
  margin-right: .7em
}

.social-icons {
  display: inline-flex;
  gap: 1.6rem
}

.social-icons li a {
  display: inline-grid;
  vertical-align: top;
  place-items: center;
  padding: 6px;
  width: 2.7rem;
  height: 2.7rem;
  background: var(--white);
  border-radius: 50%
}

.main-header {
  padding: 2.5rem 0
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 3rem;
  margin: 0;
  padding: 0
}

.nav-links li {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  text-transform: capitalize;
  position: relative
}

.nav-links li a {
  text-decoration: none;
  color: var(--black);
  padding: 1rem 0;
  position: relative;
  display: inline-block
}

.nav-links li a:after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--blue);
  transition: width .3s ease
}

.nav-links li:hover a:after,
.nav-links li.active a:after {
  width: 100%
}

.nav-links li:hover a,
.nav-links li.active a {
  color: var(--blue)
}

.nav-links li {
  position: relative
}

.nav-links li .sub-menu {
  position: absolute;
  left: 0;
  top: 63px;
  width: 200px;
  background: #fff;
  box-shadow: 1px 1px 5px #ddd
}

.nav-links li .sub-menu:before {
  position: absolute;
  left: 0;
  top: -4.5rem;
  height: 4.5rem;
  width: 100%;
  content: ""
}

.nav-links li .sub-menu li {
  font-size: 1.4rem;
  border-bottom: 1px solid rgba(0, 0, 0, .2)
}

.nav-links li .sub-menu li:last-child {
  border-bottom: none
}

.nav-links li .sub-menu li a {
  display: block;
  padding: 1rem 5%;
  color: var(--black)
}

.nav-links li .sub-menu li a:hover {
  background: var(--skyblue);
  color: var(--white)
}

.nav-links li .sub-menu li:after,
.nav-links li .sub-menu li:hover:after,
.nav-links li .sub-menu li.active:after {
  display: none !important
}

.nav-links li .sub-menu li a:after {
  display: none !important
}

.megamenu:before {
  position: absolute;
  left: 0;
  top: 0rem;
  height: 6rem;
  width: 100%;
  content: ""
}

.text-black {
  color: var(--black)
}

.text-white {
  color: var(--white) !important
}

.megamenu {
  display: none;
  position: absolute;
  top: calc(100% + 15px);
  left: -50px;
  background: var(--white);
  width: 710px;
  padding: 25px;
  box-shadow: 0 8px 25px #00000026;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
  z-index: 1000;
  pointer-events: auto
}

.nav-links .megamenu-parent:hover .megamenu,
.megamenu:hover,
.megamenu-parent.open .megamenu {
  display: flex !important;
  opacity: 1;
  visibility: visible
}

.nav-links .megamenu-parent a {
  color: var(--black);
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  padding: 1rem 0;
  position: relative;
  display: inline-block;
  text-transform: capitalize
}

.nav-links .megamenu-parent a:after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--blue);
  transition: width .3s ease
}

.nav-links .megamenu-parent:hover a:after,
.nav-links .megamenu-parent.active a:after {
  width: 100%
}

.nav-links .megamenu-parent:hover a,
.nav-links .megamenu-parent.active a {
  color: var(--black80)
}

.megamenu-product-item {
  cursor: pointer;
  position: relative;
  z-index: 1001;
  pointer-events: auto
}

.megamenu-container {
  display: flex;
  flex-direction: column;
  gap: 30px
}

.megamenu-row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap
}

.megamenu-row:first-child {
  justify-content: flex-start
}

.megamenu-row:last-child {
  justify-content: flex-start
}

.megamenu-product-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px 8px;
  border-radius: 8px;
  transition: all .3s ease;
  text-decoration: none;
  color: var(--black80);
  min-width: 120px;
  flex: 0 0 auto;
  width: calc(14.28% - 12px)
}

.megamenu-product-item:hover {
  background: var(--lightblue);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px #0000001a
}

.megamenu-product-image {
  width: 100%;
  height: 100px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  overflow: hidden
}

.megamenu-product-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  transition: transform .3s ease
}

.megamenu-product-item:hover .megamenu-product-image img {
  transform: scale(1.09)
}

.megamenu-product-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--black80);
  line-height: 2.2;
  margin: 0
}

.megamenu-product-item:hover .megamenu-product-name {
  color: var(--black80)
}

.megamenu-product-item,
.megamenu-product-item:hover,
.megamenu-product-item:focus,
.megamenu-product-item:active {
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important
}

.megamenu-product-item:after,
.megamenu-product-item:before {
  display: none !important
}

.right-header {
  display: inline-flex;
  align-items: center;
  gap: 7rem
}

.right-header a {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  color: #000
}

.cart-icon i {
  font-size: 1.4em;
  color: #000
}

.toggleBtn {
  display: none
}

.home-banner {
  padding: 0;
  text-align: center;
  position: relative;
  width: 100%;
  overflow: hidden
}

.home-banner .wrapper {
  position: relative;
  width: 100%;
  max-width: 100%
}

.home-banner .wrapper.inner-box {
  width: 100%;
  margin: 0;
  padding: 0
}

.inner-box {
  width: 92.3%;
  margin: 0 auto
}

.home-banner .owl-carousel .item {
  width: 100% !important;
  min-height: 70rem;
  padding: 5rem 0 6rem;
  position: relative;
  box-sizing: border-box
}

.home-banner .owl-stage {
  width: 100% !important;
  display: flex !important
}

.home-banner .owl-stage .owl-item {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important
}

.home-banner .owl-stage .owl-item .item {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 5rem 0 6rem !important
}

.prouct-details-container {
  width: 69.3%;
  margin: 0 auto
}

.hero-image {
  margin: 2.3rem 0 0;
  position: relative
}

.hero-image img {
  width: 36% !important;
  display: inline-block !important;
  height: 100%
}

.home-banner .watermark {
  position: absolute;
  top: 20%;
  min-width: 100%;
  left: 0;
  display: flex;
  justify-content: center;
  text-transform: uppercase;
  color: #077dc721;
  font-size: 26rem;
  font-weight: 900;
  line-height: 1
}

.home-banner .watermark .typewriter {
  overflow: hidden;
  white-space: nowrap;
  animation: typing 3.5s steps(40, end) forwards;
  display: inline-block;
  width: 0
}

@keyframes typing {
  0% {
    width: 0
  }

  to {
    width: 100%
  }
}

@keyframes scaleIn {
  0% {
    transform: scale(.8);
    opacity: 0
  }

  50% {
    transform: scale(1.05)
  }

  to {
    transform: scale(1);
    opacity: 1
  }
}

@keyframes slideInLeft {
  0% {
    transform: translate(-50px);
    opacity: 0
  }

  to {
    transform: translate(0);
    opacity: 1
  }
}

@keyframes slideInRight {
  0% {
    transform: translate(50px);
    opacity: 0
  }

  to {
    transform: translate(0);
    opacity: 1
  }
}

@keyframes widthExpand {
  0% {
    width: 0
  }

  to {
    width: 60px
  }
}

@keyframes shimmer {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

@keyframes priceShimmer {
  0% {
    transform: translate(-100%)
  }

  50% {
    transform: translate(100%)
  }

  to {
    transform: translate(100%)
  }
}

@keyframes badgeShine {
  0% {
    left: -100%
  }

  50% {
    left: 100%
  }

  to {
    left: 100%
  }
}

@keyframes tabSlide {
  0% {
    width: 0;
    opacity: 0
  }

  to {
    width: 80%;
    opacity: 1
  }
}

@keyframes tabContentFadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes floatUp {

  0%,
  to {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-10px)
  }
}

@keyframes glow {

  0%,
  to {
    box-shadow: 0 0 20px #3388bd4d
  }

  50% {
    box-shadow: 0 0 30px #3388bd99
  }
}

.home-banner .owl-dots {
  position: absolute;
  right: 0%;
  transform: translate(-50%);
  bottom: 2rem;
  display: flex;
  gap: 0;
  z-index: 10
}

.home-banner .owl-dots .owl-dot {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: #ffffff80;
  transition: all .3s ease
}

.home-banner .owl-dots .owl-dot.active {
  background-color: #2e2e2e !important;
  transform: scale(1.2)
}

.home-banner .owl-dots .owl-dot span {
  display: none
}

.review-count {
  position: absolute;
  left: 3rem;
  bottom: 8rem;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 1rem;
  z-index: 5
}

.highlight-number {
  font-size: 4rem;
  line-height: 5rem;
  font-weight: 700;
  color: #3388bd
}

.review-count small {
  font-size: 1.3rem;
  line-height: 1.8rem;
  color: var(--darkgray);
  width: 14rem
}

.testimonial-sec {
  position: absolute;
  right: 11%;
  bottom: 12rem;
  background-color: #cfe6fa;
  padding: 2rem 2.5rem;
  border-radius: 12rem;
  display: flex;
  align-items: center;
  max-width: 40rem;
  text-align: left;
  box-shadow: 0 8px 32px #0000001a;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 5
}

.testimonial-sec img {
  width: 6.4rem !important;
  height: 6.4rem;
  border-radius: 50%;
  margin-right: 1.7rem
}

.testimonial-text p {
  margin-bottom: .4em;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #191817
}

.testimonial-text p strong {
  margin-top: .5rem;
  display: block;
  font-weight: 500
}

.testimonial-text p strong span {
  color: var(--darkgray);
  font-weight: 400
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 2em;
  margin-top: 2.6rem
}

.video-sec {
  margin-top: 10rem
}

.video-sec .placeholder {
  background: var(--gray);
  height: 60rem;
  border-radius: 5rem
}

.productList-sec {
  margin-top: 5rem
}

.productList-sec .title-group {
  margin-bottom: 2rem
}

.product-grid {
  display: flex;
  gap: 2em;
  justify-content: space-between
}

.product-card {
  border-radius: 3rem;
  padding: 2.5rem;
  background: linear-gradient(#e4f1ff, #f9f9f9);
  position: relative;
  flex: 1;
  height: 27rem;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  cursor: pointer;
  border: 2px solid rgba(51, 136, 189, .1);
  box-shadow: 0 4px 15px #0000001a
}

.product-card:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--skyblue);
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: .4s;
  transition-duration: .4s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  border-radius: 3rem
}

.product-card:hover:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1)
}

.product-card:hover {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
  border-color: var(--skyblue);
  box-shadow: 0 8px 25px #3388bd33
}

.product-card h3 {
  font-size: 3.2rem;
  line-height: 3.7rem;
  font-weight: 600;
  color: var(--skyblue);
  transition: color .3s ease
}

.product-card:hover h3 {
  color: var(--white)
}

.product-card.small {
  flex: 0 0 15.37%
}

.product-card.large {
  flex: 0 0 32.34%
}

.product-card .arrow-icon {
  background: var(--white);
  border-radius: 50%;
  width: 4.8rem;
  height: 4.8rem;
  display: inline-grid;
  place-items: center
}

.product-card h3 {
  font-size: 3.2rem;
  line-height: 3.7rem;
  font-weight: 600;
  color: var(--skyblue)
}

.product-card>img {
  position: absolute;
  right: 0;
  top: 0
}

.product-container {
  display: flex;
  justify-content: space-between;
  gap: 3rem
}

.category-box {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  cursor: pointer;
  background: var(--white);
  border-radius: 3rem;
  padding: 2rem;
  box-shadow: 0 2px 10px #00000014;
  border: 2px solid rgba(51, 136, 189, .1)
}

.category-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px #3388bd33;
  border-color: var(--skyblue)
}

.category-box .product-image {
  background: var(--lightblue);
  height: 30rem;
  border-radius: 3rem;
  text-align: right;
  margin-bottom: 2.5rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center
}

.category-box .product-image img {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 90%;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  transition: transform .3s ease
}

.category-box:hover .product-image img {
  transform: scale(1.08)
}

.category-box h4 {
  font-size: 3.2rem;
  line-height: 3.7rem;
  font-weight: 600;
  color: var(--skyblue);
  margin-bottom: 1.5rem
}

.category-box ul {
  margin-bottom: 2rem
}

.category-box ul li {
  font-size: 1.6rem;
  line-height: 2.8rem;
  color: var(--darkgray);
  padding-left: 1.5rem;
  position: relative
}

.category-box ul li:before {
  content: "•";
  color: var(--skyblue);
  position: absolute;
  left: 0;
  font-weight: 700
}

.category-box .product-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--lightgray)
}

.category-box .price {
  margin-left: 0;
  text-align: left;
  font-size: 1rem;
  color: #222
}

.category-box .old-price {
  color: var(--gray);
  text-decoration: line-through;
  font-size: 1.4rem;
  line-height: 2rem;
  display: block
}

.category-box .new-price {
  font-size: 2.2rem;
  line-height: 2.5rem;
  font-weight: 700;
  color: var(--black80);
  display: block
}

.category-box .price .tax {
  font-size: 1.2rem;
  line-height: 1.8rem;
  color: var(--gray);
  margin-top: .5rem
}

.category-slider .owl-dots {
  margin-top: 5rem !important
}

.smartLock-sec {
  background: linear-gradient(90deg, #3388bd, #62c2d5, #923ced);
  margin-top: 10rem;
  padding: 4rem 0
}

.smartLock-sec .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.smartLock-sec .heading {
  color: var(--white);
  text-transform: uppercase;
  line-height: 7rem
}

.smartLock-sec .lockGroup {
  display: flex;
  gap: 15rem;
  text-align: center
}

.smartLock-sec .lockBox {
  display: inline-flex;
  flex-direction: column;
  align-items: center
}

.smartLock-sec .lockBox .pro-img {
  width: 17.6rem;
  height: 17.6rem;
  border-radius: 50%;
  background: #fff9;
  position: relative
}

.smartLock-sec .lockBox .pro-img>img {
  margin-top: -2.5rem
}

.smartLock-sec .lockBox .rate {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--white);
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 500;
  padding: .5rem 1rem;
  border-radius: 2rem;
  position: absolute;
  bottom: 3rem;
  right: -4rem
}

.smartLock-sec .lockBox .rate img {
  margin-top: -3px
}

.smartLock-sec .lockBox .info {
  background: var(--white);
  border-radius: 1.6rem;
  padding: 1.5rem 2.5rem;
  margin-top: 1.2rem
}

.smartLock-sec .lockBox .info h4 {
  font-size: 2rem;
  line-height: 1.5;
  color: var(--skyblue);
  font-weight: 600;
  text-transform: uppercase
}

.smartLock-sec .lockBox .info .price {
  display: inline-flex;
  justify-content: center;
  gap: 1rem
}

.smartLock-sec .lockBox .info .price .old {
  font-size: 1.6rem;
  line-height: 2rem;
  color: var(--darkgray);
  text-decoration: line-through
}

.smartLock-sec .lockBox .info .price .new {
  font-size: 1.6rem;
  line-height: 2rem;
  color: var(--black);
  font-weight: 600
}

.buy-section {
  margin-top: 10rem
}

.buy-header {
  display: flex;
  margin-bottom: 5.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 4rem
}

.buy-header .title-group {
  flex: 0 0 45%;
  max-width: 45%
}

.buy-header .title-group .heading {
  font-size: 4.5rem;
  line-height: 1.2rem;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 2rem;
  text-transform: uppercase
}

.buy-header .title-group .subtext {
  font-size: 1.6rem;
  line-height: 2.8rem;
  color: var(--darkgray);
  max-width: 90%
}

.buy-header .whatsapp-card {
  flex: 0 0 50%;
  border-radius: 2rem;
  padding: 6rem;
  color: var(--white);
  position: relative;
  overflow: hidden;
  background: linear-gradient(#0000, #0000), url(../images/shop-on-whats-app.jpg);
  min-height: 31rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.whatsapp-card .phone-number {
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: var(--white)
}

.whatsapp-card .whatsapp-text {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--white)
}

.whatsapp-card .description {
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: var(--white);
  opacity: .9;
  padding: 0 35% 0 0
}

.product-gradient .discription {
  flex: 0 0 52%
}

.whatsapp-card .whatsapp-icons {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  z-index: 1
}

.whatsapp-card .whatsapp-icon {
  width: 4rem;
  height: 4rem;
  background: #fff3;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pulse 2s infinite
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1
  }

  50% {
    transform: scale(1.1);
    opacity: .8
  }

  to {
    transform: scale(1);
    opacity: 1
  }
}

.whatsapp-card .phone-mockup {
  position: absolute;
  right: -2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 20rem;
  height: auto;
  z-index: 2
}

.buy-body {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  margin-top: 4rem
}

.title-group .text-heading {
  background: linear-gradient(to right, #2c3e50, #376a9e, #4173a6, #112d48);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600
}

.buy-card {
  position: relative;
  color: var(--white);
  border-radius: 2rem;
  overflow: hidden;
  height: 29rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.help-card {
  background: linear-gradient(#0000, #0000), url(../images/security.png);
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.demo-card {
  background: linear-gradient(#0000, #0000), url(../images/demo.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card.app-card {
  background: linear-gradient(#0000, #0000), url(../images/download-app-banner.jpg);
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.buy-card .card-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 3rem;
  z-index: 2
}

.buy-card .card-title {
  font-size: 1.8rem;
  line-height: 3rem;
  font-weight: 700;
  margin-bottom: .5rem;
  color: var(--white);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .5)
}

.buy-card .card-subtitle {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--white);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .5)
}

.buy-card .card-description {
  font-size: 1.4rem;
  line-height: 1.2;
  color: var(--white);
  opacity: .95;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
  max-width: 90%
}

.buy-card .icon-area {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start
}

.buy-card.help-card:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 8rem;
  height: 8rem;
  background: #ffffff1a;
  border-radius: 50%;
  margin: 2rem
}

.buy-card.app-card:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 8rem;
  height: 8rem;
  background: #ffffff1a;
  border-radius: 50%;
  margin: 2rem
}

.buy-card.demo-card {
  background-color: #2c3e50
}

.buy-card.demo-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #2c3e50cc, #34495e99);
  z-index: 1
}

.demo-container {
  background: linear-gradient(135deg, #4a9ee7, #1e7bd1);
  margin-top: 10rem;
  padding: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
  min-height: 70rem;
  position: relative;
  overflow: visible;
  width: 100%;
  margin-left: auto;
  margin-right: auto
}

@media (max-width: 767px) {
  .demo-container {
    flex-direction: column;
    min-height: auto;
    padding: 3rem 0
  }

  .demo-container>.wrapper {
    flex-direction: column
  }
}

.demo-container>.wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
  position: relative
}

.demo-container .inner-box {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%
}

.demo-left-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
  z-index: 2;
  max-width: 48%;
  padding: 21rem 0 6rem 22rem;
  justify-content: space-around
}

.demo-product-showcase {
  position: absolute;
  top: -11rem;
  left: 54%;
  transform: translate(-50%);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  z-index: 3;
  width: 100%
}

.demo-lock-image {
  width: 45rem;
  height: auto;
  max-width: none;
  object-fit: contain;
  position: relative;
  z-index: 1
}

.demo-content .demo-heading {
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 2rem;
  letter-spacing: -.02em
}

.demo-content .demo-subheading {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  opacity: .95
}

.demo-content .demo-description {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 4rem;
  opacity: .9;
  max-width: 45rem
}

.demo-app-buttons {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem
}

.demo-app-buttons .app-button {
  display: inline-block;
  transition: transform .3s ease
}

.demo-app-buttons .app-button:hover {
  transform: translateY(-.3rem)
}

.demo-app-buttons img {
  height: 5.5rem;
  width: auto
}

.demo-right-section {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 50%;
  padding: 6rem 22rem 7rem 0
}

.demo-form-container {
  background: #fffffff2;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 2rem;
  padding: 3rem;
  width: 100%;
  box-shadow: 0 2rem 4rem #0000001a
}

.demo-form {
  display: flex;
  flex-direction: column;
  gap: 2.5rem
}

.demo-form-row {
  display: flex;
  gap: 2.5rem
}

.demo-form-group {
  flex: 1;
  display: flex;
  flex-direction: column
}

.demo-form-group.full-width {
  flex: 1 1 100%
}

.demo-form-label {
  font-size: 1.4rem;
  font-weight: 600;
  color: #313131;
  margin-bottom: .9rem;
  display: block
}

.demo-form-input,
.demo-form-select,
.demo-form-textarea {
  width: 100%;
  padding: 1.5rem 2rem;
  border: .2rem solid #E5E7EB;
  border-radius: 1rem;
  font-size: 1.4rem;
  font-family: inherit;
  transition: all .3s ease;
  background: var(--white);
  color: var(--black)
}

.demo-form-input:focus,
.demo-form-select:focus,
.demo-form-textarea:focus {
  outline: none;
  border-color: #4a9ee7;
  box-shadow: 0 0 0 .3rem #4a9ee71a
}

.demo-form-input::placeholder,
.demo-form-textarea::placeholder {
  color: #9ca3af;
  font-size: 1.4rem
}

.demo-form-textarea {
  min-height: 12rem;
  resize: vertical
}

.demo-form-submit {
  background: var(--black80);
  color: var(--white);
  border: none;
  padding: 1.7rem 2rem;
  border-radius: 1rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}

.demo-form-submit:hover:not(:disabled) {
  background: var(--black);
  transform: translateY(-2px)
}

.demo-form-submit:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none
}

.demo-form-input.error,
.demo-form-select.error,
.demo-form-textarea.error {
  border-color: #dc3545;
  box-shadow: 0 0 0 .3rem #dc35451a
}

.demo-form-error {
  color: #dc3545;
  font-size: 1.2rem;
  margin-top: .5rem;
  display: block
}

.demo-submit-message {
  padding: 1.5rem;
  border-radius: 1rem;
  margin-bottom: 2rem;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center
}

.demo-submit-message.success {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724
}

.demo-submit-message.error {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  color: #721c24;
  cursor: pointer;
  transition: all .3s ease;
  align-self: flex-end;
  min-width: 14rem
}

.demo-form-submit:hover {
  transform: translateY(-.2rem);
  box-shadow: 0 1rem 2rem #1f29374d
}

.demo-form-submit:active {
  transform: translateY(0)
}

.demo-features {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  z-index: 1
}

.feature-card {
  background: #ffffffe6;
  border-radius: 1.2rem;
  padding: 1.5rem;
  box-shadow: 0 4px 20px #0000001a;
  transform: perspective(1000px) rotateY(-15deg)
}

.security-card {
  transform: perspective(1000px) rotateY(-15deg) translate(-8rem)
}

.payment-card {
  transform: perspective(1000px) rotateY(15deg) translate(8rem)
}

.feature-icon {
  width: 8rem;
  height: 6rem;
  object-fit: contain
}

.demo-content {
  color: var(--white)
}

.demo-title {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 2px
}

.demo-subtitle {
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: var(--white)
}

.demo-description {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 3rem;
  color: var(--white);
  opacity: .9;
  max-width: 45rem
}

.app-download-buttons {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap
}

.app-store-btn,
.google-play-btn {
  display: block;
  transition: transform .3s ease
}

.app-store-btn:hover,
.google-play-btn:hover {
  transform: translateY(-2px)
}

.app-store-btn img,
.google-play-btn img {
  height: 5rem;
  width: auto
}

.demo-form-section {
  flex: 1;
  background: var(--white);
  border-radius: 2rem;
  padding: 4rem;
  box-shadow: 0 10px 40px #0000001a
}

.demo-form .form-row {
  margin-bottom: 2rem
}

.demo-form .form-row-split {
  display: flex;
  gap: 2rem
}

.demo-form .form-group {
  flex: 1
}

.demo-form .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}

.demo-form input,
.demo-form select,
.demo-form textarea {
  width: 100%;
  border: 1px solid rgb(145 145 145);
  border-radius: 1.2rem;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  font-weight: 400;
  font-family: inherit;
  background: var(--white);
  transition: border-color .3s ease, box-shadow .3s ease
}

.demo-form input:focus,
.demo-form select:focus,
.demo-form textarea:focus {
  outline: none;
  border-color: var(--skyblue);
  box-shadow: 0 0 0 3px #4a9ee71a
}

.demo-form input::placeholder,
.demo-form textarea::placeholder {
  color: #9ca3af;
  font-size: 1.4rem
}

.demo-form select {
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1.5rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none
}

.demo-form textarea {
  resize: vertical;
  min-height: 10rem
}

.form-submit {
  margin-top: 3rem;
  text-align: center
}

.demo-submit-btn {
  background: #374151;
  color: var(--white);
  border: none;
  border-radius: 1.2rem;
  padding: 1.5rem 4rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  transition: background-color .3s ease, transform .2s ease
}

.demo-submit-btn:hover {
  background: #1f2937;
  transform: translateY(-1px)
}

.demo-submit-btn:active {
  transform: translateY(0)
}

.form-container {
  flex: 1
}

.contact-form .form-row {
  margin-bottom: 2.5rem;
  display: flex;
  justify-content: space-between;
  gap: 2.5rem
}

.contact-form .form-group {
  flex: 1
}

.contact-form .form-group.full-width {
  flex: 1 1 100%
}

.contact-form label {
  display: block;
  font-size: 1.4rem;
  line-height: 2.5rem;
  color: var(--black80);
  padding-left: 1.5rem;
  font-weight: 600;
  margin-bottom: .8rem
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--skyblue);
  border-radius: 1.5rem;
  height: 5rem;
  font-family: poppins;
  font-weight: 400;
  color: var(--black80);
  padding: 1.5rem 2rem;
  font-size: 1.5rem;
  background: var(--white);
  transition: border-color .3s ease, box-shadow .3s ease
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--skyblue);
  box-shadow: 0 0 0 3px #3388bd1a
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: var(--gray);
  font-size: 1.4rem
}

.contact-form textarea {
  height: 12rem;
  resize: none;
  padding-top: 1.5rem
}

.contact-form .submit-container {
  text-align: right;
  margin-top: 3rem
}

.contact-form .submit-container .btn {
  padding: 1.5rem 3rem;
  font-size: 1.6rem;
  font-weight: 600
}

.slidingsec,
.echodec {
  padding: 12rem 0 0
}

.slidingsec .highlight,
.echodec .highlight {
  background: linear-gradient(to right, #ffc107, #f5a56f, #ceb055);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1.2;
  display: block
}

.slidingsec .headline,
.echodec .headline {
  font-size: 4.5rem;
  max-width: 100%;
  line-height: 1.3;
  font-weight: 700;
  color: #3388bd
}

.title-group.echodec {
  text-align: center
}

.slidingsec .text-heading,
.echodec .text-heading {
  background: linear-gradient(to right, #2c3e50, #376a9e, #4173a6, #112d48);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  font-size: 5.5rem;
  line-height: 1.5
}

.echosystem-sec {
  border-radius: 3rem;
  padding: 0 4rem;
  margin: 4rem auto;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  width: 95%
}

button.login-btn.user-btn {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
  color: var(--blue);
  background: none;
  border: none;
  cursor: pointer;
  font-family: Poppins
}

.info-group,
.form-group {
  padding: 0 2rem
}

.profile-card {
  text-align: right
}

.profile-info,
.profile-edit-form {
  text-align: left;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(326px, 1fr));
  gap: 0rem;
  width: 100%;
  max-width: 100%
}

.ecosystem-video-background {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  border-radius: 3rem;
  display: block
}

.echosystem-sec .title-group {
  position: absolute;
  top: 9%;
  left: 6%;
  z-index: 2;
  text-align: left;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start
}

.echosystem-sec .title-group .subtitle {
  color: #48b1e4;
  text-transform: capitalize;
  font-size: 4.5rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1rem;
  text-align: center;
  letter-spacing: 1px
}

.echosystem-sec .title-group .heading {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-align: center
}

.echosystem-sec .title-group .subtext {
  font-size: 1.8rem;
  line-height: 1.9;
  opacity: .9;
  max-width: 60rem;
  text-align: center
}

.echosystem-sec .echo-content {
  position: relative;
  z-index: 2
}

@media (max-width: 991px) {
  .echosystem-sec {
    min-height: 50rem;
    padding: 0rem;
    margin: 6rem auto
  }

  .echosystem-sec .title-group .subtitle,
  .echosystem-sec .title-group .heading {
    font-size: 3.5rem
  }

  .echosystem-sec .title-group .subtext {
    font-size: 1.6rem;
    max-width: 50rem
  }
}

@media (max-width: 767px) {
  .echosystem-sec {
    min-height: 40rem;
    padding: 0 2rem;
    margin: 4rem auto;
    border-radius: 2rem
  }

  .ecosystem-video-background {
    border-radius: 2rem
  }

  .echosystem-sec .title-group .subtitle {
    font-size: 3rem;
    margin-bottom: 1rem
  }

  .echosystem-sec .title-group .heading {
    font-size: 3rem;
    margin-bottom: 1.5rem
  }

  .echosystem-sec .title-group .subtext {
    font-size: 1.4rem;
    max-width: 40rem
  }
}

@media (max-width: 480px) {
  .echosystem-sec {
    min-height: 35rem;
    padding: 1.5rem;
    margin: 3rem auto;
    border-radius: 1.5rem
  }

  .ecosystem-video-background {
    border-radius: 1.5rem
  }

  .echosystem-sec .title-group .subtitle,
  .echosystem-sec .title-group .heading {
    font-size: 2.5rem;
    letter-spacing: 1px
  }

  .echosystem-sec .title-group .subtext {
    font-size: 1.3rem;
    max-width: 35rem
  }
}

.client-testimonial {
  margin-top: 6rem;
  margin-bottom: 6rem
}

.client-testimonial .title-group {
  margin-bottom: 5rem;
  padding: 0 5%
}

.client-testimonial .heading .highlight {
  background: linear-gradient(to right, #ffc107, #f5a56f, #ceb055);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  display: block
}

.testimonial-grid {
  display: flex;
  justify-content: space-between;
  gap: 2rem
}

.testimonial-grid .video-card,
.testimonial-grid .text-card {
  flex: 1;
  height: 35rem;
  border-radius: 3rem;
  overflow: hidden
}

.testimonial-grid .video-card {
  position: relative;
  background: var(--gray90);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.testimonial-grid .video-card:nth-child(1) {
  background-image: url(../images/home/expressive-man-using-smartphone-selfie.jpg)
}

.testimonial-grid .video-card:nth-child(2) {
  background-image: url(../images/home/pov-content-creator-reviewing-smartphone-product-camera.jpg)
}

.testimonial-grid .video-card:nth-child(4) {
  background-image: url(../images/home/expressive-man-using-smartphone-selfie.jpg)
}

.testimonial-grid .video-card .details {
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  position: relative;
  padding: 2rem 1.5rem
}

.testimonial-grid .video-card:before {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 70%;
  width: 100%;
  content: "";
  background: url(../images/transparent.png) no-repeat 0 0;
  background-size: 100% 100%
}

.video-card .video-text {
  font-size: 1.6rem;
  line-height: 3rem;
  color: var(--white)
}

.testimonial-grid img {
  width: auto !important
}

.testimonial-grid .rating {
  display: flex;
  align-items: center;
  gap: .5rem
}

.testimonial-grid .rating span {
  font-size: 1.6rem;
  line-height: 1;
  color: var(--gray80)
}

.video-card .play-button {
  position: absolute;
  width: 8.6rem;
  height: 8.6rem;
  border-radius: 50%;
  background: #31313166;
  left: calc(50% - 4.3rem);
  top: calc(50% - 4.3rem);
  display: inline-grid;
  place-items: center
}

.video-card .play-button .circle {
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 50%;
  background: var(--black80);
  display: inline-grid;
  place-items: center
}

.testimonial-grid .text-card {
  border: 1px solid var(--lightgray);
  padding: 3rem 1.5rem 1.5rem;
  display: inline-flex;
  flex-direction: column;
  margin: 1px
}

.testimonial-grid .mainreview {
  flex: 1
}

.testimonial-grid .toprow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem
}

.testimonial-grid .text-review {
  font-size: 1.6rem;
  line-height: 3rem;
  color: var(--gray)
}

.testimonial-grid .text-card .reviewer {
  display: flex;
  padding: 2.5rem 0 1rem;
  border-top: 1px solid var(--lightgray)
}

.testimonial-grid .text-card .reviewer>img {
  width: 5rem;
  margin-right: 1.3rem
}

.testimonial-grid .text-card .reviewer strong {
  font-size: 1.8rem;
  line-height: 1.5rem;
  color: var(--black80);
  display: block;
  font-weight: 600;
  margin-bottom: .8rem
}

.testimonial-grid .text-card .reviewer span {
  font-size: 1.6rem;
  line-height: 3rem;
  color: var(--gray);
  display: inline-flex;
  vertical-align: top;
  align-items: center
}

.testimonial-grid .text-card .reviewer span img {
  margin-right: .5rem
}

.client-testimonial .review-number {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 6rem
}

.client-testimonial .review-number .num {
  font-size: 4.5rem;
  line-height: 7rem;
  color: var(--skyblue);
  font-weight: 700
}

.client-testimonial .review-number .text {
  font-size: 1.6rem;
  line-height: 3rem;
  color: var(--darkgray);
  margin-left: 1.6rem
}

.client-testimonial .review-number .btn {
  margin-left: 6rem
}

.explore-section {
  margin-top: 10rem;
  background: linear-gradient(135deg, #3388bd, #62c2d5);
  padding: 6rem 0 0;
  color: var(--white);
  position: relative
}

.explore-header {
  text-align: left;
  margin-bottom: 6rem;
  padding: 0 2rem;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto
}

.explore-title {
  font-size: 6rem;
  line-height: 7rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 2rem;
  text-transform: uppercase
}

.explore-subtitle {
  font-size: 1.8rem;
  line-height: 3rem;
  color: var(--white);
  margin-bottom: 3rem;
  max-width: 60%
}

.product-category-section {
  background: var(--gray60);
  border-radius: 2rem;
  padding: 3rem 4rem;
  margin-bottom: 3rem;
  color: var(--black);
  box-shadow: 0 10px 40px #0000001a;
  position: relative;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto
}

.product-category-section:last-child {
  margin-bottom: 0
}

.category-layout {
  display: flex;
  gap: 3rem;
  justify-content: space-between;
  align-items: center;
  height: 100%
}

.category-header {
  flex: 0 0 240px;
  text-align: left
}

.category-header h3 {
  font-size: 3.1rem;
  line-height: 4rem;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px
}

.category-products {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  align-items: start
}

.doorlocks-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  justify-items: center
}

.gps-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  justify-items: start
}

.product-item {
  text-align: center;
  position: relative;
  padding: 0rem 0rem .5rem;
  border-radius: 1rem;
  transition: all .3s ease;
  cursor: pointer;
  background: var(--gray60);
  width: 100%;
  max-width: 205px;
  overflow: hidden
}

.product-item img {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 13rem;
  object-fit: contain;
  aspect-ratio: 4 / 3;
  margin-bottom: 2rem
}

.discount-badge,
.product-discount-badge {
  background: transparent;
  color: #ff6b6b;
  padding: 0;
  border-radius: 0;
  font-size: 1.4rem;
  font-weight: 600;
  margin-left: .5rem;
  position: static
}

.productitem img {
  width: auto;
  max-width: 100%;
  height: 8rem;
  margin: 1rem 0 1.5rem;
  transition: transform .3s ease;
  object-fit: contain
}

.product-item:hover {
  border-color: var(--skyblue);
  background-color: var(--lightblue)
}

.product-item:hover img {
  transform: scale(1.2);
  transition: .5s
}

.product-item h4 {
  font-size: 1.7rem;
  line-height: 1.8rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 1rem
}

.pricing {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.3rem;
  justify-content: center
}

.current-price {
  font-size: 1.6rem;
  line-height: 2.5rem;
  font-weight: 700;
  color: var(--black80)
}

.original-price {
  font-size: 1.3rem;
  line-height: 1.8rem;
  color: var(--gray80);
  text-decoration: line-through
}

.add-to-cart {
  display: none;
  background: var(--skyblue);
  color: var(--white);
  padding: 1rem 2rem;
  border-radius: 1rem;
  font-size: 1.4rem;
  font-weight: 600;
  border: none;
  margin-top: 1.5rem;
  cursor: pointer;
  transition: all .3s ease
}

.add-to-cart:hover {
  background: var(--darkblue)
}

.homesafe-sec {
  margin-top: 10rem
}

.homesafe-sec .title-group {
  margin-bottom: 8.5rem
}

.homesafe-sec img {
  width: 100%
}

.blank-sec {
  background: linear-gradient(180deg, #e0eff6, #f9f9f9);
  height: 50rem
}

.footer {
  background-color: var(--darkblue);
  color: #fff
}

.footer-row {
  padding: 2rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end
}

footer .heading-sec {
  max-width: 55%
}

footer .heading-sec h3 {
  font-size: 3.8rem;
  line-height: 1.2;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  font-weight: 500
}

footer .heading-sec p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  max-width: 70%;
  font-weight: 300
}

footer .contact-sec {
  display: inline-flex;
  gap: 10.7rem;
  margin-bottom: 3.2rem
}

footer .contact-sec h4 {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400
}

footer .contact-sec a {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  color: var(--skyblue)
}

.footer-main p {
  margin: 0
}

.footer-main {
  display: flex;
  justify-content: space-between;
  gap: 2em
}

.footer-main p {
  font-size: 1.6rem;
  line-height: 3rem;
  margin-top: 3rem
}

.footer-main .logo {
  width: 20rem
}

.footer-col.about-col {
  flex: 1.5;
  margin-right: 7%
}

.footer-col {
  flex: 1
}

.footer-col h4 {
  font-weight: 500;
  font-size: 2rem;
  line-height: 3rem;
  margin-bottom: 2rem;
  color: #fff
}

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

.footer-col ul li {
  font-size: 1.6rem;
  line-height: 4rem
}

.footer-col ul li a {
  color: var(--white)
}

.footer-bottom {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  border-bottom: none
}

.footer-bottom .contact-way {
  display: inline-flex;
  align-items: flex-start;
  gap: 7.7rem
}

.footer-bottom .contact-way p {
  align-items: flex-start
}

.footer-bottom .contact-way p img {
  margin-top: .8rem
}

.footer-bottom p,
.footer-bottom a {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 3rem;
  color: var(--white);
  display: inline-flex;
  align-items: center;

  @keyframes slideInUp {
    0% {
      transform: translateY(100%);
      opacity: 0
    }

    to {
      transform: translateY(0);
      opacity: 1
    }
  }

  @keyframes slideInRight {
    0% {
      transform: translate(100%);
      opacity: 0
    }

    to {
      transform: translate(0);
      opacity: 1
    }
  }

  @keyframes slideOutRight {
    0% {
      transform: translate(0);
      opacity: 1
    }

    to {
      transform: translate(100%);
      opacity: 0
    }
  }
}

.footer-bottom p .empty-cart,
.footer-bottom a .empty-cart {
  text-align: center;
  padding: 4rem 2rem;
  color: #666
}

.footer-bottom p .empty-cart-icon,
.footer-bottom a .empty-cart-icon {
  font-size: 4rem;
  margin-bottom: 1rem;
  opacity: .5
}

.footer-bottom p .empty-cart h3,
.footer-bottom a .empty-cart h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #333
}

.footer-bottom p .empty-cart p,
.footer-bottom a .empty-cart p {
  font-size: 1.4rem;
  opacity: .7
}

.footer-bottom p .quantity-display-simple,
.footer-bottom a .quantity-display-simple {
  margin-bottom: .5rem
}

.footer-bottom p .item-quantity,
.footer-bottom a .item-quantity {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black);
  display: inline-block;
  padding: .3rem .8rem;
  background: #f8f9fa;
  border-radius: .4rem;
  border: 1px solid #e5e5e5
}

.footer-bottom p .quantity-controls,
.footer-bottom a .quantity-controls {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem
}

.footer-bottom p .quantity-controls .qty-btn,
.footer-bottom a .quantity-controls .qty-btn {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: .4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  transition: all .3s ease
}

.footer-bottom p .quantity-controls .qty-btn:hover,
.footer-bottom a .quantity-controls .qty-btn:hover {
  background: var(--skyblue);
  color: #fff;
  border-color: var(--skyblue)
}

.footer-bottom p .quantity-controls .quantity,
.footer-bottom a .quantity-controls .quantity {
  font-size: 1.4rem;
  font-weight: 600;
  min-width: 3rem;
  text-align: center
}

.footer-bottom p .cart-count,
.footer-bottom a .cart-count {
  transition: all .3s ease
}

.footer-bottom p .cart-count.updated,
.footer-bottom a .cart-count.updated {
  transform: scale(1.3);
  color: #27ae60
}

.footer-bottom img {
  margin-right: 1rem
}

.pad-10 {
  padding-top: 50px !important
}

.product-gradient {
  background: linear-gradient(239.83deg, #2c3e50 7.96%, #376a9e 33.34%, #4173a6 60.99%, #112d48 86.76%);
  padding: 8rem 0
}

.product-gradient .title-group .heading {
  font-size: 4.5rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  text-transform: uppercase
}

.product-gradient .title-group .heading.skyblue {
  color: #4a90e2;
  flex: 0 0 30%
}

.product-gradient .title-group .discription {
  flex: 0 0 50%;
  display: flex;
  align-items: center
}

.product-gradient .title-group .discription .subtext {
  font-size: 1.6rem;
  color: #ffffffe6;
  line-height: 1.6;
  margin: 0
}

.video-sec {
  width: 100%;
  max-width: 100%;
  margin: 2rem auto;
  position: relative;
  overflow: hidden;
  border-radius: 10px
}

.slider {
  position: relative;
  aspect-ratio: 1323 / 700;
  background: #fff
}

.slider img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transition: opacity .6s ease
}

.slider img.active {
  opacity: 1
}

.slider img:nth-child(1) {
  animation: slideRightToLeft 6s infinite;
  animation-delay: 0s
}

.slider img:nth-child(2) {
  animation: slideRightToLeft 6s infinite;
  animation-delay: 3s
}

@keyframes slideRightToLeft {
  0% {
    opacity: 1;
    transform: translate(100%)
  }

  16.66% {
    opacity: 1;
    transform: translate(0)
  }

  50% {
    opacity: 1;
    transform: translate(0)
  }

  66.66% {
    opacity: 1;
    transform: translate(-100%)
  }

  to {
    opacity: 1;
    transform: translate(-100%)
  }
}

.product-hero-section {
  background: linear-gradient(307deg, #70c5ef, #fffbf2, #e2f4ff);
  padding: 2rem 0;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(26, 115, 232, .1)
}

.product-hero-section .inner-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  position: relative
}

.product-hero-section:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(26, 115, 232, .03) 0%, transparent 70%);
  pointer-events: none
}

.hero-content {
  flex: 1
}

.hero-title {
  font-size: 4.5rem;
  font-weight: 700;
  color: var(--black80);
  margin-bottom: 2rem;
  line-height: 1.2
}

.breadcrumb {
  margin-top: 1rem
}

.breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0
}

.breadcrumb li {
  font-size: 1.6rem;
  color: var(--gray)
}

.breadcrumb li:not(:last-child):after {
  content: "/";
  margin-left: 1rem;
  color: var(--gray)
}

.breadcrumb a {
  color: var(--skyblue);
  text-decoration: none;
  transition: color .3s ease
}

.hero-illustration {
  flex: 1;
  text-align: center;
  max-width: 50%;
  position: relative
}

.hero-illustration img {
  max-width: 100%;
  height: auto;
  border-radius: 2rem;
  box-shadow: 0 10px 40px #1a73e826;
  transition: transform .3s ease, box-shadow .3s ease
}

.hero-illustration img:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 60px #1a73e833
}

.product-details-section {
  padding: 6rem 0;
  background: var(--white)
}

.product-layout {
  display: flex;
  gap: 6rem;
  align-items: flex-start
}

.product-images-container {
  flex: 0 0 45%;
  display: flex;
  gap: 2rem
}

.product-thumbnails {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 0 0 10rem
}

.thumbnail {
  width: 10rem;
  height: 10rem;
  border: 2px solid transparent;
  border-radius: 1rem;
  overflow: hidden;
  background: var(--lightblue);
  padding: .8rem
}

.thumbnail.active {
  border-color: var(--skyblue)
}

.thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.thumbnail.video-thumbnail {
  position: relative
}

.video-play-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3rem;
  height: 3rem;
  background: #000000b3;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .8;
  transition: opacity .3s ease
}

.thumbnail.video-thumbnail:hover .video-play-indicator {
  opacity: 1
}

.main-image-container img {
  transition: opacity .3s ease
}

.main-image-container {
  flex: 1;
  position: relative;
  background: var(--lightblue);
  border-radius: 2rem;
  padding: 3rem;
  text-align: center;
  min-height: 45rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.main-image-container img {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 40rem;
  object-fit: contain;
  aspect-ratio: 1 / 1
}

.product-info-container {
  flex: 1;
  padding-left: 2rem
}

.product-header {
  margin-bottom: 3rem
}

.product-title {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 1.5rem;
  line-height: 1.2
}

.price-section {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2rem
}

.current-price {
  font-size: 2.8rem;
  font-weight: 700;
  color: #3a66a5
}

.original-price {
  font-size: 1.6rem;
  color: var(--gray);
  text-decoration: line-through
}

.discount-badge {
  background: transparent;
  color: #ff6b6b;
  padding: 0;
  border-radius: 0;
  font-size: 1.3rem;
  font-weight: 600;
  margin-left: .5rem;
}

.product-description {
  margin-bottom: 3rem
}

.product-description p {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--gray)
}

.product-highlights {
  margin-bottom: 3rem
}

.highlights-title {
  font-size: 2rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 2rem
}

.highlights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 3rem
}

.highlight-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: .8rem;
  transition: background-color .3s ease
}

.highlight-item:hover {
  background: #1a73e80d
}

.highlight-icon {
  width: 4.5rem;
  height: 4.5rem;
  object-fit: contain
}

.highlight-text {
  font-size: 1.2rem;
  color: var(--black);
  line-height: 1.3;
  font-weight: 500
}

.product-actions {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 3rem;
  flex-wrap: wrap
}

.order-btn {
  background: #3a66a5;
  color: var(--white);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 2.5rem;
  border-radius: 1rem;
  font-size: 1.4rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all .3s ease;
  flex: 1;
  justify-content: center;
  position: relative;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 12px #1a73e84d
}

.order-btn:hover {
  background: #1557b0;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px #1a73e866
}

.order-btn svg {
  width: 2rem;
  height: 2rem;
  fill: none;
  stroke: currentColor
}

.add-to-cart-btn {
  background: #33668d !important;
  color: var(--white);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 2.5rem;
  border-radius: 1rem;
  font-size: 1.4rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all .3s ease;
  flex: 1;
  justify-content: center;
  position: relative;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 12px #ff6b354d
}

.add-to-cart-btn:hover {
  background: #2b6991;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px #ff6b3566
}

.add-to-cart-btn svg {
  width: 2rem;
  height: 2rem;
  fill: none;
  stroke: currentColor
}

.delivery-info-section {
  display: flex;
  gap: 2rem;
  margin-top: 2rem
}

.delivery-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex: 1;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 1rem;
  border: 1px solid #e9ecef
}

.delivery-icon {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
  flex-shrink: 0;
  margin-top: .2rem
}

.delivery-content {
  display: flex;
  flex-direction: column;
  gap: .3rem
}

.delivery-label {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--black);
  line-height: 1.3
}

.delivery-value {
  font-size: 1.2rem;
  color: var(--gray);
  line-height: 1.3
}

.contact-info-section {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}

.contact-item {
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.contact-label {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black80)
}

.contact-value {
  font-size: 1.3rem;
  color: var(--gray);
  line-height: 1.4
}

.product-info-sections {
  padding: 6rem 0;
  background: var(--white)
}

.info-section {
  margin-bottom: 5rem
}

.info-section:last-child {
  margin-bottom: 0
}

.section-title {
  font-size: 2.4rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 3rem;
  position: relative;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #ededed
}

.section-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 22rem;
  height: 2px;
  background: #3a66a5;
  border-radius: 0
}

.section-content {
  background: var(--white);
  padding: 0
}

.technical-content {
  padding: 2rem 0
}

.technical-content p,
.section-content p {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--gray);
  margin-bottom: 3rem;
  text-align: justify
}

.review-summary {
  display: flex;
  gap: 6rem;
  margin-bottom: 4rem;
  align-items: flex-start
}

.review-score {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 15rem
}

.score-number {
  font-size: 4.8rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1;
  display: inline-block
}

.score-total {
  font-size: 1.8rem;
  color: var(--gray);
  margin-left: .5rem;
  display: inline-block
}

.star-rating {
  margin: 1rem 0;
  font-size: 1.8rem
}

.star {
  color: #ddd
}

.star.filled {
  font-size: 2.2rem;
  color: #ffc107
}

.review-section .review-count {
  font-size: 1.4rem;
  color: var(--gray);
  text-align: left;
  margin-top: .5rem;
  position: static !important;
  bottom: auto !important;
  left: auto !important
}

.home-banner .review-count {
  position: absolute;
  left: 11%;
  bottom: 7.5rem;
  display: flex;
  align-items: center;
  text-align: left;
  gap: .8rem
}

.rating-breakdown {
  flex: 1;
  max-width: 50rem
}

.rating-bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem
}

.rating-label {
  font-size: 1.4rem;
  color: var(--black);
  width: 1rem;
  text-align: center
}

.rating-bar .star {
  font-size: 1.4rem;
  color: #ffc107
}

.bar-container {
  flex: 1;
  height: .8rem;
  background: #e9ecef;
  border-radius: .4rem;
  overflow: hidden
}

.bar-fill {
  height: 100%;
  background: #373737;
  transition: width .3s ease
}

.rating-count {
  font-size: 1.4rem;
  color: var(--gray);
  width: 3rem;
  text-align: right
}

.review-list {
  display: flex;
  flex-direction: column;
  gap: 3rem
}

.review-item {
  padding: 2rem;
  border: 1px solid var(--lightgray);
  border-radius: 1rem;
  background: #f8f9fa
}

.reviewer-info {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem
}

.reviewer-avatar {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  overflow: hidden
}

.reviewer-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.reviewer-details {
  flex: 1
}

.reviewer-name {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: .5rem
}

.reviewer-meta {
  font-size: 1.4rem;
  color: var(--gray)
}

.verified {
  color: #28a745;
  font-weight: 500
}

.review-rating {
  font-size: 1.6rem
}

.review-text {
  margin-bottom: 1.5rem
}

.review-text p {
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--gray);
  margin-bottom: 0
}

.review-date {
  font-size: 1.3rem;
  color: var(--gray)
}

.specifications-table {
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none
}

.spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--lightgray);
  transition: none;
  border-radius: 0;
  margin-bottom: 0
}

.spec-row:last-child {
  border-bottom: 1px solid var(--lightgray);
  margin-bottom: 0
}

.spec-row:hover {
  background: none;
  transform: none;
  box-shadow: none
}

.spec-label {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--black80);
  flex: 0 0 auto;
  position: relative;
  max-width: 50%
}

.spec-label:before {
  display: none
}

.spec-value {
  font-size: 1.6rem;
  color: var(--black80);
  flex: 1;
  text-align: right;
  font-weight: 400;
  background: none;
  padding: 0;
  border-radius: 0;
  max-width: 50%
}

.additional-content,
.review-content,
.policies-content {
  padding: 3rem 0
}

.additional-content p,
.review-content p,
.policies-content p {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--gray);
  text-align: justify;
  background: #f8f9fa;
  padding: 2rem;
  border-radius: 1rem;
  border-left: 4px solid var(--skyblue)
}

.notification-container {
  position: relative;
  display: inline-block;
  margin-right: 2rem
}

.notification-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--black);
  transition: color .3s ease
}

.notification-link:hover {
  color: var(--skyblue)
}

.notification-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem
}

.notification-icon svg {
  width: 2.4rem;
  height: 2.4rem
}

.notification-count {
  position: absolute;
  top: -.5rem;
  right: -.5rem;
  background: #f44;
  color: #fff;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1
}

.notification-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00000080;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all .3s ease
}

.notification-overlay.active {
  opacity: 1;
  visibility: visible
}

.notification-modal {
  position: fixed;
  top: 0;
  right: 0;
  width: 40rem;
  height: 100%;
  background: #fff;
  box-shadow: -2px 0 20px #0000001a;
  transform: translate(100%);
  transition: transform .3s ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: Poppins, sans-serif
}

.notification-overlay.active .notification-modal {
  transform: translate(0)
}

.notification-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 2.5rem;
  border-bottom: 1px solid #e5e5e5;
  background: #f8f9fa
}

.notification-header h2 {
  font-size: 2.4rem;
  font-weight: 600;
  color: var(--black);
  margin: 0
}

.notification-close {
  background: none;
  border: none;
  font-size: 3rem;
  color: var(--gray);
  cursor: pointer;
  padding: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .3s ease
}

.notification-close:hover {
  color: var(--black)
}

.notification-content {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 0
}

.notification-item {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 2rem 2.5rem;
  border-bottom: 1px solid #f0f0f0;
  transition: background .3s ease
}

.notification-item:hover {
  background: #f8f9fa
}

.notification-item.unread {
  background: #f0f8ff;
  border-left: 4px solid var(--skyblue)
}

.notification-icon-wrapper {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.notification-icon-wrapper.order {
  background: #e3f2fd;
  color: #1976d2
}

.notification-icon-wrapper.offer {
  background: #e8f5e8;
  color: #388e3c
}

.notification-icon-wrapper.delivery {
  background: #fff3e0;
  color: #f57c00
}

.notification-details {
  flex: 1
}

.notification-title {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--black);
  margin: 0 0 .5rem;
  line-height: 1.3
}

.notification-message {
  font-size: 1.4rem;
  color: var(--gray);
  margin: 0 0 .8rem;
  line-height: 1.4
}

.notification-time {
  font-size: 1.2rem;
  color: var(--gray80)
}

.notification-actions {
  padding: 2rem 2.5rem;
  border-top: 1px solid #e5e5e5;
  background: #f8f9fa;
  text-align: center
}

.mark-all-read-btn {
  background: var(--skyblue);
  color: var(--white);
  border: none;
  padding: 1.2rem 2.5rem;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}

.mark-all-read-btn:hover {
  background: #1557b0
}

.cart-container {
  position: relative;
  display: inline-block
}

.cart-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--black);
  transition: color .3s ease
}

.cart-link:hover {
  color: var(--skyblue)
}

.cart-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem
}

.cart-icon svg {
  width: 2.4rem;
  height: 2.4rem
}

.cart-count {
  position: absolute;
  top: -.5rem;
  right: -.5rem;
  background: #f44;
  color: #fff;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1
}

.cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00000080;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all .3s ease
}

.cart-overlay.active {
  opacity: 1;
  visibility: visible
}

.cart-modal {
  position: fixed;
  top: 0;
  right: 0;
  width: 50rem;
  height: 100%;
  background: #fff;
  box-shadow: -2px 0 20px #0000001a;
  transform: translate(100%);
  transition: transform .3s ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: Poppins, sans-serif
}

.cart-modal .item-bottom-controls {
  width: 14rem
}

.cart-overlay.active .cart-modal {
  transform: translate(0)
}

.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 2.5rem;
  border-bottom: 1px solid #e5e5e5
}

.cart-header h2 {
  font-size: 2.4rem;
  font-weight: 600;
  color: var(--black);
  margin: 0
}

.cart-close {
  background: none;
  border: none;
  font-size: 3rem;
  color: var(--gray);
  cursor: pointer;
  padding: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .3s ease
}

.cart-close:hover {
  color: var(--black)
}

.cart-items {
  flex: 1;
  overflow-y: auto;
  padding: 2rem 2.5rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: start;
  vertical-align: middle;
  font-size: 1.6rem;
  font-weight: 300
}

body .cart-item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 4rem;
  align-items: start;
  padding: 1.3rem;
  border: 1px solid #b0d8f1;
  background: var(--white);
  border-radius: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 2px 10px #0000000d;
  transition: all .3s ease;
  position: relative
}

.cart-item:last-child {
  border-bottom: none
}

.item-image {
  width: 8rem;
  height: 8rem;
  background: var(--lightblue);
  border-radius: 1rem;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem
}

.item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.item-details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.item-details h4 {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--black);
  margin: 0;
  line-height: 1.3
}

.item-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: .8rem;
  gap: 2rem
}

.item-quantity {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black)
}

.item-unit-price {
  font-size: 1.4rem;
  color: var(--gray)
}

.item-total-price {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--black);
  order: 2
}

.item-price {
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.quantity-controls {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem
}

.quantity-controls .qty-btn {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: .4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  transition: all .3s ease
}

.quantity-controls .qty-btn:hover {
  background: var(--skyblue);
  color: #fff;
  border-color: var(--skyblue)
}

.quantity-controls .quantity {
  font-size: 1.4rem;
  font-weight: 600;
  min-width: 3rem;
  text-align: center
}

.item-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: .8rem
}

.quantity-controls-cart {
  display: flex;
  align-items: center;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e5e5e5;
  overflow: hidden
}

.qty-btn-cart {
  width: 3rem;
  height: 3rem;
  border: none;
  background: #f8f9fa;
  color: #333;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}

.qty-btn-cart:hover {
  background: var(--skyblue);
  color: #fff
}

.qty-display-cart {
  min-width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 600;
  color: #333;
  background: #fff;
  border-left: 1px solid #e5e5e5;
  border-right: 1px solid #e5e5e5
}

.item-price-details-modal {
  margin: .8rem 0
}

.price-info-modal {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap
}

.item-current-price-modal {
  font-size: 1.6rem;
  font-weight: 700;
  color: #333
}

.item-original-price-modal {
  font-size: 1.4rem;
  color: #999;
  text-decoration: line-through;
  font-weight: 400
}

.item-discount-modal {
  background: #f44;
  color: #fff;
  padding: .3rem .8rem;
  border-radius: 4px;
  font-size: 1.2rem;
  font-weight: 600;
  white-space: nowrap
}

.item-price {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: .5rem
}

.price-breakdown {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #eee
}

.price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5rem
}

.price-label {
  font-size: 1.3rem;
  color: #666;
  font-weight: 500
}

.price-value {
  font-size: 1.3rem;
  font-weight: 600;
  color: #333
}

.price-value.original {
  color: #999;
  text-decoration: line-through
}

.price-value.discount {
  color: #28a745;
  font-weight: 700
}

.remove-item {
  position: absolute;
  top: 1rem;
  right: 0;
  background: none;
  border: none;
  font-size: 2rem;
  color: var(--gray);
  cursor: pointer;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .3s ease
}

.remove-item:hover {
  color: #f44
}

.cart-summary {
  padding: 2rem 2.5rem;
  border-top: 1px solid #e5e5e5;
  background: #fbfbfb
}

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

.subtotal-label {
  font-size: 1.4rem;
  color: var(--black);
  font-weight: 600
}

.subtotal-amount {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black)
}

.shipping-info {
  margin-bottom: 2rem
}

.shipping-bar {
  height: .4rem;
  background: #e5e5e5;
  border-radius: .2rem;
  margin-bottom: 1rem;
  position: relative
}

.shipping-bar:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 60%;
  background: var(--blue);
  border-radius: .2rem
}

.shipping-text {
  font-size: 1.3rem;
  color: #464646;
  margin: 0
}

.cart-actions {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem
}

.view-cart-btn,
.checkout-btn {
  flex: 1;
  padding: 1rem;
  border-radius: 1rem;
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: 400;
  border: none;
  cursor: pointer;
  transition: all .3s ease;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center
}

.view-cart-btn {
  background: #2c6284;
  color: #fff;
  border: 2px solid #2e6385
}

.view-cart-btn:hover {
  background: #000;
  color: #fff
}

.checkout-btn {
  background: var(--black);
  color: #fff
}

.checkout-btn:hover {
  background: #333
}

.free-shipping-note {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.3rem;
  color: #484747
}

.free-shipping-note svg {
  flex-shrink: 0
}

.video-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000c;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}

@keyframes slideInRight {
  0% {
    transform: translate(100%);
    opacity: 0
  }

  to {
    transform: translate(0);
    opacity: 1
  }
}

@keyframes slideOutRight {
  0% {
    transform: translate(0);
    opacity: 1
  }

  to {
    transform: translate(100%);
    opacity: 0
  }
}

.cart-count {
  transition: all .3s ease
}

.cart-count.updated {
  animation: cartCountPulse .6s ease
}

@keyframes cartCountPulse {
  0% {
    transform: scale(1)
  }

  50% {
    transform: scale(1.3);
    background: #ff6b35
  }

  to {
    transform: scale(1)
  }
}

.mrp-price {
  transition: color .3s ease
}

.video-popup-overlay.active {
  opacity: 1;
  visibility: visible
}

.video-popup-modal {
  background: #fff;
  border-radius: 1.5rem;
  overflow: hidden;
  max-width: 90%;
  max-height: 90%;
  width: 80rem;
  transform: scale(.7);
  transition: transform .3s ease
}

.video-popup-overlay.active .video-popup-modal {
  transform: scale(1)
}

.video-popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2.5rem;
  background: #1b639bcc;
  border-bottom: 1px solid #e5e5e5
}

.video-popup-header h3 {
  font-size: 1.5rem;
  font-weight: 400;
  color: #fbfbfb;
  margin: 0
}

.video-popup-close {
  background: none;
  border: none;
  font-size: 3rem;
  color: #fff;
  cursor: pointer;
  padding: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .3s ease
}

.video-popup-close:hover {
  color: var(--black)
}

.video-popup-content {
  position: relative;
  width: 100%;
  height: 45rem;
  background: #000
}

.video-popup-content iframe {
  width: 100%;
  height: 100%;
  border: none
}

@media (max-width: 767px) {
  .video-popup-modal {
    width: 95%;
    max-width: 95%
  }

  .video-popup-header {
    padding: 1.5rem 2rem
  }

  .video-popup-header h3 {
    font-size: 1.8rem
  }

  .video-popup-content {
    height: 25rem
  }

  .cart-modal {
    width: 100%;
    max-width: 40rem
  }

  .cart-header,
  .cart-items,
  .cart-summary {
    padding: 1.5rem 2rem
  }
}

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

.products-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem;
  padding: 2.5rem;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border-radius: 1.5rem;
  flex-wrap: wrap;
  gap: 2rem;
  box-shadow: 0 4px 20px #00000014
}

.view-controls {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  order: 1
}

.view-label {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--black80);
  text-transform: uppercase;
  letter-spacing: .5px
}

.view-btn {
  padding: 1.2rem;
  border: 2px solid #ddd;
  background: var(--white);
  color: var(--black80);
  border-radius: 1rem;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  box-shadow: 0 2px 8px #0000001a
}

.view-btn:hover {
  background: var(--lightblue);
  border-color: var(--skyblue);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #3388bd4d
}

.view-btn.active {
  background: var(--skyblue);
  color: var(--white);
  border-color: var(--skyblue);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #3388bd66
}

.view-btn svg {
  transition: all .3s ease
}

.products-filters {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  order: 2
}

.filter-group {
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.filter-group label {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--black80)
}

.filter-select {
  padding: 1rem 1.5rem;
  border: 1px solid #ddd;
  border-radius: .8rem;
  font-size: 1.4rem;
  background: var(--white);
  color: var(--black);
  cursor: pointer;
  min-width: 15rem
}

.filter-select:focus {
  outline: none;
  border-color: var(--skyblue);
  box-shadow: 0 0 0 3px #3a66a51a
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-bottom: 4rem;
  transition: all .3s ease
}

.products-grid.columns-2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem
}

.products-grid.columns-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem
}

.products-grid.columns-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem
}

.products-grid.columns-5 {
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem
}

.product-card {
  background: var(--white);
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 6px 25px #0000001a;
  transition: all .3s ease;
  border: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 42rem;
  position: relative
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px #3388bd26;
  border-color: var(--skyblue)
}

.product-image {
  position: relative;
  padding: 2.5rem;
  background: linear-gradient(135deg, var(--lightblue) 0%, #f0f8ff 100%);
  text-align: center;
  flex-shrink: 0;
  height: 24rem;
  display: flex;
  align-items: center;
  justify-content: center
}

.product-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  transition: transform .3s ease
}

.product-card:hover .product-image img {
  transform: scale(1.08)
}

.home-page .discount-badge {
  position: absolute;
  top: 8px;
  z-index:1;
  left: 2.11px;
  background: #ff3b3b;
  color: var(--white);
  padding: 2px 6px;
  border-radius: 15px;
  opacity: .8;
  font-size: 1.1rem;
  font-weight: 500;
 
}

.product-info {
  padding: 2rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-height: 14rem;
  justify-content: space-between
}

.product-name {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0 0 1rem;
  line-height: 1.3;
  text-align: center;
  flex-shrink: 0;
  min-height: 2.4rem
}

.product-pricing {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 0 0 1.5rem;
  flex-wrap: wrap
}

.home-page .current-price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--black80);
  line-height: 1
}

.original-price {
  font-size: 1.6rem;
  color: var(--gray80);
  text-decoration: line-through;
  line-height: 1;
  font-weight: 500
}

.product-card .add-to-cart-btn {
  width: 100%;
  padding: 1.6rem;
  background: #373737;
  color: var(--white);
  border: none;
  border-radius: 1.2rem;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .8px;
  margin-top: auto;
  box-shadow: 0 4px 15px #3737374d;
  position: relative;
  overflow: hidden
}

.product-card .add-to-cart-btn:hover {
  background: #1557b0;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px #1557b066
}

.product-card .add-to-cart-btn:active {
  transform: translateY(-1px)
}

.load-more-section {
  text-align: center;
  padding-top: 2rem
}

.load-more-btn {
  padding: 1.5rem 4rem;
  background: var(--skyblue);
  color: var(--white);
  border: none;
  border-radius: 1rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  margin-bottom: 1.5rem
}

.load-more-btn:hover {
  background: #1557b0;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px #1a73e84d
}

.load-more-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none
}

.products-count {
  font-size: 1.4rem;
  color: var(--gray);
  margin: 0
}

.product-card.hidden {
  display: none
}

.signin-inner-container {
  width: 124rem;
  max-width: 100%;
  margin: 0 auto
}

.signin-hero-section {
  background: linear-gradient(135deg, #e8f4f8, #f0f8ff);
  padding: 4rem 0;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.signin-title {
  font-size: 4rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0
}

.signin-layout {
  display: flex;
  gap: 4rem;
  align-items: stretch;
  min-height: 70rem
}

.signin-showcase {
  width: 58rem
}

.showcase-content {
  z-index: 2
}

.showcase-title {
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--black80);
  margin-bottom: 1rem;
  line-height: 1.2
}

.showcase-subtitle {
  font-size: 1.8rem;
  color: var(--gray);
  margin-bottom: 3rem
}

.feature-btn {
  background: #3388bd1a;
  color: var(--blue);
  padding: 1.2rem 2rem;
  border-radius: 2.5rem;
  font-size: 1.4rem;
  font-weight: 600;
  border: 2px solid rgba(51, 136, 189, .2);
  transition: all .3s ease;
  text-align: center
}

.feature-btn:hover {
  background: var(--blue);
  color: var(--white);
  transform: translateY(-2px)
}

.showcase-image {
  text-align: center;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: #d2f0ffcc;
  border-radius: 2rem;
  margin-top: 0rem;
  box-shadow: 0 4px 20px #0000001a;
  border: 1px solid rgba(51, 136, 189, .15);
  height: 68rem
}

.showcase-image img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 1.5rem;
  filter: drop-shadow(0 4px 15px rgba(0, 0, 0, .1))
}

.signin-form-container {
  width: 57.5rem;
  flex: 0 0 57.5rem
}

.signin-form-wrapper {
  background: var(--white);
  padding: 4rem;
  border-radius: 2rem;
  box-shadow: 0 15px 50px #00000026;
  border: 1px solid #e8e8e8;
  position: relative
}

.signin-form-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #3388bd05, #ffffff80);
  border-radius: 2rem;
  z-index: -1
}

.form-header {
  text-align: left;
  margin-bottom: 2rem
}

.form-logo {
  width: 12rem;
  margin-bottom: 2rem
}

.form-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0;
  letter-spacing: -.5px
}

.signin-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}

.form-label {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black80);
  margin-bottom: .5rem
}

.form-input {
  padding: 1.6rem 2rem;
  font-size: 1.6rem;
  border: 1px solid #e5e5e5;
  border-radius: 1.2rem;
  font-size: 1.4rem;
  font-family: inherit;
  background: var(--white);
  color: #000;
  transition: all .3s ease;
  box-shadow: 0 2px 8px #0000000d
}

.form-input:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px #3388bd26;
  transform: translateY(-1px)
}

.form-input::placeholder {
  color: #9ca3af;
  font-weight: 400
}

.password-input {
  padding-right: 30rem
}

.password-toggle {
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--gray);
  cursor: pointer;
  padding: .5rem;
  transition: color .3s ease;
  border-radius: .5rem
}

.password-toggle:hover {
  color: var(--blue);
  background: #3388bd1a
}

.form-options {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  font-size: 1.4rem;
  color: var(--black80);
  transition: color .3s ease
}

.checkbox-wrapper:hover {
  color: var(--blue)
}

.checkbox-wrapper input[type=checkbox] {
  display: none
}

.checkmark {
  width: 2rem;
  height: 2rem;
  border: 2px solid #e5e5e5;
  border-radius: .5rem;
  position: relative;
  transition: all .3s ease;
  background: var(--white)
}

.checkbox-wrapper input[type=checkbox]:checked+.checkmark {
  background: var(--blue);
  border-color: var(--blue)
}

.checkbox-wrapper input[type=checkbox]:checked+.checkmark:after {
  content: "";
  position: absolute;
  top: .2rem;
  left: .6rem;
  width: .6rem;
  height: 1rem;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg)
}

.forgot-password {
  font-size: 1.4rem;
  color: var(--blue);
  text-decoration: none;
  transition: color .3s ease;
  font-weight: 500
}

.forgot-password:hover {
  color: #1557b0;
  text-decoration: underline
}

.signin-btn {
  background: var(--blue);
  color: var(--white);
  padding: 1.8rem 2rem;
  border: none;
  border-radius: 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-top: 1rem;
  box-shadow: 0 6px 20px #3388bd4d
}

.signin-btn:hover {
  background: #1557b0;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px #1557b066
}

.signin-btn:active {
  transform: translateY(-1px)
}

.divider {
  position: relative;
  text-align: center;
  margin: .6rem 0
}

.divider:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #e5e5e5 50%, transparent 100%);
  z-index: 1
}

.divider-text {
  background: var(--white);
  padding: 0 2rem;
  font-size: 1.4rem;
  color: #504f4f;
  font-weight: 500;
  z-index: 999999
}

.google-signin-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.8rem 2rem;
  background: #333;
  color: var(--white);
  border: none;
  border-radius: 1.2rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  box-shadow: 0 4px 15px #3333334d
}

.google-signin-btn:hover {
  background: #1f1f1f;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #1f1f1f66
}

.signup-link {
  text-align: center;
  font-size: 1.4rem;
  color: var(--gray);
  margin-top: 2rem
}

.signup-link-text {
  color: var(--blue);
  text-decoration: none;
  font-weight: 600;
  transition: color .3s ease
}

.signup-link-text:hover {
  color: #1557b0;
  text-decoration: underline
}

.cart-hero-section {
  background: linear-gradient(135deg, #e8f4f8, #f0f8ff);
  padding: 4rem 0 2rem;
  text-align: center;
  border-bottom: 1px solid #e5e5e5
}

.cart-hero-section .hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  text-align: center;
  width: 100%
}

.cart-hero-section .hero-title {
  font-size: 4.5rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0;
  text-align: center
}

.breadcrumb-section {
  background: linear-gradient(135deg, #e8f4f8, #f0f8ff);
  padding: 0 0 4rem;
  border-bottom: 1px solid #e5e5e5;
  text-align: center
}

.breadcrumb {
  margin: 0;
  display: flex;
  justify-content: center
}

.breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: center
}

.breadcrumb li {
  font-size: 1.4rem;
  color: var(--black80);
  font-weight: 500
}

.breadcrumb li:not(:last-child):after {
  content: ">";
  margin-left: 1rem;
  color: var(--gray)
}

.breadcrumb a {
  color: var(--blue);
  text-decoration: none;
  transition: color .3s ease
}

.breadcrumb a:hover {
  color: var(--black80)
}

.checkout-section {
  padding: 6rem 0;
  background: #f8f9fa
}

.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start
}

.shipping-form-container {
  background: var(--white);
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 4px 20px #00000014
}

.form-section {
  padding: 3rem;
  border-bottom: 1px solid #f0f0f0
}

.form-section:last-child {
  border-bottom: none
}

.section-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 2.5rem
}

.shipping-form {
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.form-group.full-width {
  flex: 1 1 100%
}

.form-group input,
.form-group textarea,
.form-group select {
  padding: 1.5rem 2rem;
  border: 1px solid #e5e5e5;
  border-radius: 1rem;
  font-size: 1.4rem;
  font-family: inherit;
  background: var(--white);
  color: var(--black);
  transition: all .3s ease
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px #3388bd1a
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: #9ca3af
}

.phone-input {
  display: flex;
  gap: 1rem
}

.country-code {
  flex: 0 0 120px
}

.country-code,
.form-group input[type=tel] {
  padding: 1.5rem
}

.shipping-options {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}

.shipping-option {
  position: relative
}

.shipping-option input[type=radio] {
  display: none
}

.shipping-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem;
  border: 2px solid #e5e5e5;
  border-radius: 1.2rem;
  cursor: pointer;
  transition: all .3s ease;
  background: var(--white)
}

.shipping-option input[type=radio]:checked+.shipping-label {
  border-color: var(--blue);
  background: #3388bd0d
}

.shipping-label:before {
  content: "";
  width: 20px;
  height: 20px;
  border: 2px solid #e5e5e5;
  border-radius: 50%;
  margin-right: 1.5rem;
  transition: all .3s ease
}

.shipping-option input[type=radio]:checked+.shipping-label:before {
  border-color: var(--blue);
  background: var(--blue);
  box-shadow: inset 0 0 0 4px #fff
}

.shipping-info {
  flex: 1
}

.shipping-name {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--black);
  display: block
}

.shipping-time {
  font-size: 1.4rem;
  color: var(--gray);
  display: block
}

.shipping-price {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--black)
}

.cart-summary-container {
  position: sticky;
  top: 2rem
}

.cart-summary-card {
  background: var(--white);
  border-radius: 2rem;
  padding: 3rem;
  box-shadow: 0 4px 20px #00000014
}

.summary-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 2.5rem
}

.cart-items-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 2.5rem
}

.cart-item-summary {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  border: 1px solid #e0e0e0;
  border-radius: .8rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  position: relative;
  background: var(--white);
  transition: all .3s ease
}

.cart-item-summary:hover {
  border-color: #ccc;
  box-shadow: 0 2px 8px #0000001a
}

.cart-item-summary .item-image {
  position: relative;
  width: 6rem;
  height: 6rem;
  background: var(--lightblue);
  border-radius: 1rem;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem
}

.cart-item-summary .item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.remove-item-cross {
  position: absolute;
  top: -1.2rem;
  right: -.9rem;
  background: #3388bd;
  border: 2px solid #ffffff;
  font-size: 1.6rem;
  color: #fff;
  cursor: pointer;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease;
  border-radius: 50%;
  font-weight: 500;
  line-height: 1;
  box-shadow: 0 2px 8px #f446;
  z-index: 10
}

.remove-item-cross:hover {
  background: #000;
  transform: scale(1.1);
  box-shadow: 0 4px 15px #0009
}

.remove-item-cross:before {
  content: "×";
  font-size: 1.6rem;
  line-height: 1
}

.remove-item-summary {
  position: absolute;
  top: -10px;
  right: -10px;
  background: #f44;
  border: 2px solid #ffffff;
  font-size: 1.2rem;
  color: #fff;
  cursor: pointer;
  width: 2.2rem;
  height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease;
  border-radius: 50%;
  font-weight: 700;
  box-shadow: 0 2px 8px #f446;
  z-index: 10;
  line-height: 1
}

.remove-item-summary:hover {
  background: #dc3545;
  transform: scale(1.1);
  box-shadow: 0 4px 15px #f449
}

.remove-item-summary:before {
  content: "×";
  font-size: 1.4rem;
  line-height: 1
}

.cart-item-summary {
  position: relative
}

.cart-item-summary:hover .remove-item-summary {
  opacity: 1
}

.discount-section {
  margin-bottom: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid #f0f0f0
}

.discount-input {
  display: flex;
  gap: 1rem
}

.discount-code-input {
  flex: 1;
  padding: 1.2rem 1.5rem;
  border: 1px solid #e5e5e5;
  border-radius: .8rem;
  font-size: 1.4rem;
  background: var(--white);
  color: var(--black)
}

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

.apply-btn {
  padding: 1.2rem 2rem;
  background: var(--blue);
  color: var(--white);
  border: none;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}

.apply-btn:hover {
  background: #1557b0
}

.order-summary {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid #f0f0f0
}

.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.6rem
}

.summary-row span:first-child {
  color: var(--gray);
  display: flex;
  align-items: center;
  gap: .5rem
}

.summary-row span:last-child {
  font-weight: 600;
  color: var(--black)
}

.summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 2rem;
  font-weight: 700;
  color: var(--black);
  padding-top: 2rem;
  border-top: 2px solid #e5e5e5
}

.continue-payment-btn {
  width: 100%;
  padding: 1.8rem;
  background: var(--black);
  color: var(--white);
  border: none;
  border-radius: 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px
}

.continue-payment-btn:hover {
  background: #333
}

.checkout-step-section {
  background: var(--white);
  border-radius: 2rem;
  padding: 3rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 20px #00000014;
  border: 1px solid #e8e8e8;
  transition: all .3s ease
}

.checkout-step-hidden {
  display: none
}

.checkout-step-form {
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.checkout-step-submit-btn {
  background: var(--blue);
  color: var(--white);
  border: none;
  padding: 1.8rem 2rem;
  border-radius: 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 6px 20px #3388bd4d;
  align-self: flex-end;
  min-width: 14rem
}

.checkout-step-submit-btn:hover {
  background: #1557b0;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px #1557b066
}

.checkout-otp-section {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 2px solid #e5e5e5
}

.checkout-otp-section h3 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 1rem;
  text-align: center
}

.checkout-otp-section .otp-message {
  font-size: 1.4rem;
  color: var(--gray);
  text-align: center;
  margin-bottom: 2rem
}

.checkout-otp-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center
}

.checkout-otp-form .otp-input-group {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem
}

.checkout-otp-form .otp-input {
  width: 5rem !important;
  height: 5rem !important;
  text-align: center;
  font-size: 2rem !important;
  font-weight: 700;
  border: 2px solid #e5e5e5 !important;
  border-radius: 1rem !important;
  background: var(--white) !important;
  color: var(--black) !important;
  transition: all .3s ease !important
}

.checkout-otp-form .otp-input:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px #3388bd1a !important;
  outline: none !important
}

.checkout-otp-form .otp-input::placeholder {
  color: #ccc !important;
  font-weight: 400 !important
}

.checkout-otp-form .otp-timer {
  text-align: center;
  margin-bottom: 2rem
}

.checkout-otp-form .otp-timer span {
  font-size: 1.4rem;
  color: var(--gray)
}

.checkout-otp-form .resend-otp-btn {
  background: transparent;
  border: 2px solid var(--blue);
  color: var(--blue);
  padding: 1rem 2rem;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  margin-top: 1rem
}

.checkout-otp-form .resend-otp-btn:hover {
  background: var(--blue);
  color: var(--white)
}

.checkout-otp-form .resend-otp-btn.hidden {
  display: none
}

.password-input-wrapper input {
  padding-right: 5rem
}

.password-input-wrapper .password-toggle {
  position: absolute;
  right: 0;
  top: 50%;
  left: -12rem;
  border: none;
  color: var(--gray);
  cursor: pointer;
  padding: .5rem;
  transition: color .3s ease;
  border-radius: .5rem;
  font-size: 1.4rem
}

.password-input-wrapper .password-toggle:hover {
  color: var(--blue);
  background: #3388bd1a
}

@media (max-width: 767px) {
  .checkout-step-section {
    padding: 2rem;
    margin-bottom: 1.5rem
  }

  .checkout-otp-form .otp-input-group {
    gap: .5rem
  }

  .checkout-otp-form .otp-input {
    width: 4rem !important;
    height: 4rem !important;
    font-size: 1.8rem !important
  }

  .checkout-step-submit-btn {
    align-self: stretch;
    min-width: auto
  }
}

.registration-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00000080;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}

.registration-overlay.active {
  opacity: 1;
  visibility: visible
}

.registration-modal {
  background: #fff;
  border-radius: 2rem;
  width: 90%;
  max-width: 60rem;
  max-height: 90vh;
  overflow-y: auto;
  transform: scale(.7);
  transition: transform .3s ease;
  box-shadow: 0 20px 60px #0003
}

.registration-overlay.active .registration-modal {
  transform: scale(1)
}

.registration-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.5rem 3rem;
  border-bottom: 1px solid #e5e5e5;
  background: #f8f9fa;
  border-radius: 2rem 2rem 0 0
}

.registration-header h2 {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--black);
  margin: 0
}

.registration-close {
  background: none;
  border: none;
  font-size: 3rem;
  color: var(--gray);
  cursor: pointer;
  padding: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .3s ease
}

.registration-close:hover {
  color: var(--black)
}

.registration-content {
  padding: 3rem
}

.registration-step {
  display: block
}

.registration-step.hidden {
  display: none
}

.registration-step h3 {
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 2rem;
  text-align: center
}

.registration-form {
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.form-row {
  display: flex;
  gap: 2rem
}

.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .8rem
}

.form-group label {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black80)
}

.form-group input,
.form-group textarea {
  padding: 1.5rem 2rem;
  border: 2px solid #e5e5e5;
  border-radius: 1rem;
  font-size: 1.4rem;
  font-family: inherit;
  background: var(--white);
  color: var(--black);
  transition: all .3s ease
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px #3388bd1a
}

.password-section {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e5e5
}

.password-section h4 {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 1.5rem
}

.password-input-wrapper {
  position: relative
}

.password-toggle {
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 1.6rem;
  cursor: pointer;
  padding: .5rem
}

.registration-submit-btn,
.otp-submit-btn {
  background: var(--blue);
  color: var(--white);
  padding: 1.8rem 2rem;
  border: none;
  border-radius: 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  margin-top: 2rem;
  text-transform: uppercase;
  letter-spacing: .5px
}

.registration-submit-btn:hover,
.otp-submit-btn:hover {
  background: #1557b0;
  transform: translateY(-2px)
}

.otp-message {
  font-size: 1.6rem;
  color: var(--gray);
  text-align: center;
  margin-bottom: 3rem
}

.otp-section {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 2px solid #e5e5e5
}

.otp-section h4 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 1rem;
  text-align: center
}

.otp-section .otp-message {
  font-size: 1.4rem;
  color: var(--gray);
  text-align: center;
  margin-bottom: 2rem
}

.otp-input-group {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem
}

.otp-input {
  width: 5rem !important;
  height: 5rem !important;
  text-align: center;
  font-size: 2rem !important;
  font-weight: 700;
  border: 2px solid #e5e5e5 !important;
  border-radius: 1rem !important;
  background: var(--white) !important;
  color: var(--black) !important;
  transition: all .3s ease !important
}

.otp-input:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px #3388bd1a !important;
  outline: none !important
}

.otp-input::placeholder {
  color: #ccc !important;
  font-weight: 400 !important
}

.otp-timer {
  text-align: center;
  margin-bottom: 2rem
}

.otp-timer span {
  font-size: 1.4rem;
  color: var(--gray)
}

.resend-otp-btn {
  background: transparent;
  border: 2px solid var(--blue);
  color: var(--blue);
  padding: 1rem 2rem;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  margin-top: 1rem
}

.resend-otp-btn:hover {
  background: var(--blue);
  color: var(--white)
}

.resend-otp-btn.hidden {
  display: none
}

@media (max-width: 767px) {
  .registration-modal {
    width: 95%;
    max-height: 95vh
  }

  .registration-header,
  .registration-content {
    padding: 2rem
  }

  .form-row {
    flex-direction: column;
    gap: 1.5rem
  }

  .otp-input-group {
    gap: .5rem
  }

  .otp-input {
    width: 4rem !important;
    height: 4rem !important;
    font-size: 1.8rem !important
  }
}

@media (max-width: 1199px) {
  .checkout-layout {
    grid-template-columns: 1fr 350px;
    gap: 3rem
  }

  .cart-summary-card {
    padding: 2.5rem
  }
}

@media (max-width: 991px) {
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 3rem
  }

  .cart-summary-container {
    position: static;
    order: -1
  }

  .form-row {
    flex-direction: column;
    gap: 2rem
  }

  .phone-input {
    flex-direction: column
  }

  .country-code {
    flex: none
  }
}

@media (max-width: 767px) {
  .cart-hero-section {
    padding: 4rem 0
  }

  .cart-hero-section .hero-title {
    font-size: 3.5rem
  }

  .checkout-section {
    padding: 4rem 0
  }

  .form-section {
    padding: 2.5rem 2rem
  }

  .cart-summary-card {
    padding: 2rem
  }

  .section-title,
  .summary-title {
    font-size: 2rem
  }

  .cart-item-summary .item-image {
    width: 5rem;
    height: 5rem
  }

  .shipping-label {
    padding: 1.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem
  }

  .shipping-label:before {
    margin-right: 0;
    margin-bottom: .5rem
  }

  .discount-input {
    flex-direction: column
  }
}

@media (max-width: 480px) {
  .cart-hero-section .hero-title {
    font-size: 2.8rem
  }

  .form-section {
    padding: 2rem 1.5rem
  }

  .cart-summary-card {
    padding: 1.5rem
  }

  .cart-item-summary {
    gap: 1rem
  }

  .cart-item-summary .item-image {
    width: 4.5rem;
    height: 4.5rem
  }

  .cart-item-summary .item-details h4 {
    font-size: 1.3rem
  }

  .cart-item-summary .item-price {
    font-size: 1.4rem
  }

  .footer-main {
    display: grid;
    justify-content: space-between;
    gap: 1.4rem;
    flex-direction: column;
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-col ul li {
    font-size: 1.3rem;
    line-height: 2.4;
    font-weight: 300
  }
}

@media (max-width: 1199px) {
  .hero-title {
    font-size: 4rem;
  }

  .product-layout {
    gap: 4rem
  }

  .highlights-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (max-width: 991px) {
  .product-hero-section .inner-box {
    flex-direction: column;
    text-align: center
  }

  .hero-content,
  .hero-illustration {
    max-width: 100%
  }

  .product-layout {
    flex-direction: column;
    gap: 4rem
  }

  .product-images-container {
    flex: none;
    max-width: 60rem;
    margin: 0 auto
  }

  .product-info-container {
    padding-left: 0
  }

  .highlights-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .tabs-header {
    flex-wrap: wrap
  }

  .tab-button {
    flex: 0 0 50%
  }
}

@media (max-width: 767px) {
  .product-hero-section {
    padding: 3rem 0 4rem
  }

  .hero-title {
    font-size: 3rem
  }

  .breadcrumb ol {
    justify-content: center
  }

  .product-layout {
    flex-direction: column;
    gap: 3rem
  }

  .product-images-container {
    flex-direction: column-reverse;
    max-width: 100%;
    margin: 0;
    gap: 1.5rem
  }

  .product-thumbnails {
    flex-direction: row;
    justify-content: center;
    flex: none;
    gap: .8rem;
    overflow-x: auto;
    padding: 0 1rem
  }

  .thumbnail {
    width: 6rem;
    height: 6rem;
    flex-shrink: 0
  }

  .main-image-container {
    min-height: 30rem;
    padding: 2rem;
    margin-bottom: 0;
    order: 1
  }

  .product-info-container {
    padding-left: 0;
    padding: 0 1rem
  }

  .product-title {
    font-size: 2.4rem;
    text-align: center
  }

  .price-section {
    justify-content: center;
    text-align: center
  }

  .current-price {
    font-size: 2.4rem
  }

  .highlights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
  }

  .highlight-item {
    padding: 1rem
  }

  .highlight-icon {
    width: 2rem;
    height: 2rem
  }

  .highlight-text {
    font-size: 1.1rem
  }

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

  .order-btn,
  .add-to-cart-btn {
    justify-content: center;
    width: 100%;
    padding: 1.5rem 2rem
  }

  .order-btn img,
  .add-to-cart-btn img {
    width: 3.5rem;
    height: 3.5rem
  }

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

  .delivery-item {
    padding: 1.2rem
  }

  .tabs-header {
    flex-wrap: wrap
  }

  .tab-button {
    flex: 0 0 48%;
    font-size: 1.2rem;
    padding: 1.5rem 1rem;
    text-align: center
  }

  .tabs-content {
    padding: 2rem
  }

  .spec-row {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    padding: 1.5rem 1rem
  }

  .spec-label {
    flex: none;
    font-size: 1.4rem
  }

  .spec-value {
    text-align: left;
    font-size: 1.3rem
  }
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 2.5rem
  }

  .highlights-grid {
    grid-template-columns: 1fr
  }

  .current-price {
    font-size: 2.4rem
  }

  .original-price {
    font-size: 1.8rem
  }
}

.comparison-table-section {
  padding: 0rem 0 6rem;
  background: #fff;
  width: 100%
}

.comparison-section-header {
  text-align: center;
  margin-bottom: 4rem
}

.comparison-section-title {
  font-size: 4.2rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 2rem;
  text-transform: none;
  letter-spacing: normal;
  text-transform: capitalize
}

.comparison-table-wrapper {
  max-width: 90%;
  margin: 0 auto;
  padding: 0;
  border-radius: 20px;
  overflow: hidden
}

.comparison-table-main {
  width: 100%;
  border-collapse: collapse;
  font-family: Poppins, sans-serif;
  background: #fff;
  border-radius: 20px;
  overflow: hidden
}

.comparison-header-row {
  background: #e8f4fd
}

.comparison-header-cell-main {
  padding: 2rem 1.5rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #11345a;
  line-height: 1.2;
  border-right: 1px solid #a8d6ef;
  vertical-align: middle;
  width: 33.33%;
  background: #e8f4fd
}

.comparison-header-cell-main:last-child {
  border-right: none
}

.points-header {
  background: linear-gradient(135deg, #95d9ff, #a8e0ff) !important;
  text-align: left !important;
  padding-left: 2rem !important
}

.wired-header,
.wireless-header {
  background: linear-gradient(135deg, #95d9ff, #e1f4ff) !important
}

.comparison-data-row {
  border-bottom: 1px solid #a8d6ef
}

.comparison-data-row:last-child {
  border-bottom: none
}

.comparison-data-cell {
  padding: 1.8rem 1.5rem;
  text-align: center;
  font-size: 1.4rem;
  color: #333;
  border-right: 1px solid #a8d6ef;
  vertical-align: middle;
  line-height: 1.4;
  font-weight: 400
}

.comparison-data-cell:last-child {
  border-right: none
}

.points-cell {
  font-weight: 600;
  background: #dff1fd !important;
  text-align: left !important;
  padding-left: 2rem !important;
  color: #414244;
  font-size: 1.4rem;
  line-height: 1.2
}

.wired-cell,
.wireless-cell {
  background: #eff9ff;
  font-size: 1.4rem
}

.check-icon-green {
  width: 2.5rem;
  height: 2.5rem;
  background: #22c55e;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 auto
}

.cross-icon-red {
  width: 2.5rem;
  height: 2.5rem;
  background: #ef4444;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 auto
}

@media (max-width: 768px) {
  .comparison-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .comparison-table-main {
    min-width: 60rem
  }

  .comparison-header-cell-main {
    font-size: 1.8rem;
    padding: 1.5rem 1rem
  }

  .comparison-data-cell {
    font-size: 1.2rem;
    padding: 1.5rem 1rem
  }

  .points-cell {
    font-size: 1.3rem
  }
}

.contact-page {
  min-height: 100vh;
  background-color: #f8f9fa;
  width: 100%;
  overflow-x: hidden;
  font-family: Poppins, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif
}

.contact-hero-section {
  background: #9fd6fd;
  padding: 4rem 0 3rem;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden
}

.contact-hero-section:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #9fd6fd;
  opacity: 0;
  z-index: 1
}

.contact-hero-title {
  font-size: 4.5rem;
  font-weight: 800;
  margin-bottom: 1rem;
  letter-spacing: 3px;
  line-height: 1.2;
  color: #fff
}

.contact-hero-subtitle {
  font-size: 1.8rem;
  opacity: .9;
  max-width: 60rem;
  margin: 0 auto
}

.contact-breadcrumb {
  font-size: 1.6rem;
  color: #666;
  font-weight: 400
}

.contact-breadcrumb a {
  color: #fff;
  text-decoration: none;
  transition: color .3s ease
}

.contact-breadcrumb a:hover {
  color: #2c3e50
}

.breadcrumb-separator {
  margin: 0 .8rem;
  color: #fff
}

.breadcrumb-current {
  color: #fff
}

.contact-cards-section {
  background: linear-gradient(135deg, #f3f3f3, #daedff);
  padding: 6rem 0
}

.contact-cards-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  padding: 0 2rem;
  box-sizing: border-box
}

.contact-card {
  text-align: center;
  padding: 2rem 1rem;
  background: #3186bc;
  border-radius: 12px;
  box-shadow: 0 2px 10px #0000000d;
  transition: transform .3s ease, box-shadow .3s ease
}

.contact-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px #0000001a
}

.contact-card-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
  color: #fff
}

.contact-card-title {
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 1rem
}

.contact-card-content {
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.6;
  margin: 0
}

.contact-link {
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  transition: color .3s ease;
  font-size: 1.4rem
}

.contact-link:hover {
  color: #0056b3;
  text-decoration: underline
}

.contact-main-section {
  padding: 6rem 0;
  background: linear-gradient(135deg, #f3f3f3, #daedff)
}

.contact-main-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
  padding: 0 2rem;
  box-sizing: border-box
}

.contact-map-column {
  height: 500px
}

.contact-map-container {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px #0000001a
}

.contact-map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 12px
}

.contact-form-column {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px #0000001a;
  height: fit-content
}

.contact-heading {
  font-size: 2.2rem;
  font-weight: 700;
  color: #333;
  margin: 0 0 2rem;
  text-transform: uppercase
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}

.contact-form-group {
  display: flex;
  flex-direction: column
}

.contact-form-label {
  font-size: 1.4rem;
  font-weight: 500;
  color: #333;
  margin-bottom: .5rem
}

.contact-form-input {
  padding: 1.5rem 2rem;
  border: 1px solid #919191;
  border-radius: 1.2rem;
  font-size: 1.4rem;
  transition: border-color .3s ease, box-shadow .3s ease;
  background-color: #fff;
  font-family: inherit
}

.contact-form-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px #007bff1a;
  background-color: #fff
}

.contact-form-input.error {
  border-color: #dc3545;
  background-color: #fff5f5
}

.contact-form-input.error:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px #dc35451a
}

.contact-form-input::placeholder {
  color: #999
}

.contact-form-error {
  color: #dc3545;
  font-size: 1.2rem;
  margin-top: .65rem
}

.contact-form-submit {
  background-color: #333;
  color: #fff;
  border: none;
  padding: 1.5rem 2rem;
  border-radius: 8px;
  font-size: 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .3s ease, transform .2s ease;
  margin-top: 1rem;
  font-family: inherit
}

.contact-form-submit:hover:not(:disabled) {
  background-color: #222;
  transform: translateY(-1px)
}

.contact-form-submit:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  transform: none
}

.contact-form-message {
  padding: 1rem;
  border-radius: 8px;
  font-size: 1.3rem;
  margin-top: 1rem;
  text-align: center
}

.contact-form-message.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb
}

.contact-form-message.error {
  background-color: #ffebee;
  color: #d32f2f;
  border: 1px solid #ffcdd2
}

@media (max-width: 992px) {
  .contact-cards-container {
    gap: 1.5rem
  }

  .contact-card {
    padding: 1.5rem 1rem
  }

  .contact-main-container {
    gap: 2rem
  }

  .contact-map-column {
    height: 400px
  }

  .contact-form-column {
    padding: 2rem
  }
}

@media (max-width: 768px) {
  .contact-hero-section {
    padding: 3rem 0 2rem
  }

  .contact-hero-container {
    padding: 0 1rem
  }

  .contact-hero-title {
    font-size: 2.5rem;
    line-height: 1.3
  }

  .contact-breadcrumb {
    font-size: 1.2rem
  }

  .contact-cards-section {
    padding: 2rem 1rem
  }

  .contact-cards-container {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 0
  }

  .contact-card {
    padding: 1.5rem;
    margin: 0 .5rem
  }

  .contact-card-title {
    font-size: 1.25rem
  }

  .contact-card-content,
  .contact-link {
    font-size: 1.2rem
  }

  .contact-main-section {
    padding: 2rem 1rem
  }

  .contact-main-container {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0
  }

  .contact-map-column {
    height: 300px;
    order: 2
  }

  .contact-form-column {
    padding: 1.5rem;
    order: 1
  }

  .contact-heading {
    font-size: 1.8rem;
    margin: 1rem 0
  }

  .contact-form-input,
  .contact-form-submit {
    padding: 1.2rem 1.5rem;
    font-size: 1.4rem
  }

  .contact-form-label {
    font-size: 1.2rem
  }

  .contact-form-error {
    font-size: 1.1rem
  }
}

@media (max-width: 480px) {
  .contact-hero-section {
    padding: 2.5rem 0 1.5rem
  }

  .contact-hero-title {
    font-size: 2rem
  }

  .contact-breadcrumb {
    font-size: 1.1rem
  }

  .breadcrumb-separator {
    margin: 0 .5rem
  }

  .contact-cards-section {
    padding: 1.5rem .5rem
  }

  .contact-card {
    padding: 1rem
  }

  .contact-main-section {
    padding: 1.5rem .5rem
  }

  .contact-form-column {
    padding: 1rem
  }

  .contact-form-input,
  .contact-form-submit {
    padding: .875rem
  }
}

@media (min-width:768px) and (max-width:1199px) {
  .wrapper {
    width: 95%
  }
}

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) {
  html {
    font-size: 65%
  }

  .home-banner .owl-carousel .item {
    min-height: 65rem;
    padding: 4rem 2rem 5rem
  }

  .home-banner .watermark {
    font-size: 18rem !important;
    top: 15%
  }

  .hero-image img {
    width: 45% !important
  }

  .demo-container {
    padding: 5rem 0;
    min-height: 60rem
  }

  .demo-left-section {
    padding: 15rem 0 5rem 20rem
  }

  .demo-right-section {
    padding: 5rem 15rem 5rem 0
  }

  .demo-lock-image {
    width: 35rem
  }

  .demo-content .demo-heading {
    font-size: 4.5rem
  }

  .home-page .video-sec {
    height: 50rem
  }

  .product-card {
    height: 32rem
  }

  .title-group .heading {
    font-size: 4rem;
    line-height: 5rem
  }

  .nav-links li {
    font-size: 1.5rem
  }

  .megamenu {
    width: 650px
  }
}

@media only screen and (min-device-width: 750px) and (max-device-width: 1194px) and (-webkit-min-device-pixel-ratio: 2) {
  html {
    font-size: 60%
  }

  .demo-inner {
    flex-direction: column;
    align-items: stretch;
    padding: 4rem
  }

  .home-banner .owl-carousel .item {
    min-height: 60rem;
    padding: 3rem 1.5rem 4rem
  }

  .headline {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 4.2rem
  }

  .home-banner .watermark {
    font-size: 16rem !important;
    top: 18%
  }

  .hero-image img {
    width: 50% !important
  }

  .demo-container {
    padding: 4rem 0;
    min-height: 55rem
  }

  .demo-left-section {
    padding: 12rem 0 4rem 15rem
  }

  .demo-right-section {
    padding: 4rem 12rem 4rem 0
  }

  .demo-lock-image {
    width: 30rem
  }

  .demo-content .demo-heading {
    font-size: 4rem
  }

  .video-sec {
    height: 45rem
  }

  .product-card {
    height: 30rem
  }

  .title-group.between-center .heading {
    max-width: 40%;
    line-height: 4rem
  }

  .slide-content {
    max-width: 55%;
    padding: 0 3%
  }
}

@media (min-width:950px) and (max-width: 1680px) {
  .product-hero-actions {
    gap: 2rem;
    width: 90%
  }

  .pincode-section {
    margin-bottom: 1.2rem;
    width: 90%
  }

  .pincode-btn {
    padding: 1.4rem 4.4rem
  }

  .home-banner .owl-stage .owl-item .item {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 5rem 0 6rem !important
  }
}

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) {
  .home-banner .wrapper {
    width: 100%;
    padding: 0 2rem
  }
  .home-page .discount-badge {
    position: absolute;
    top: 8px;
    right: 11.9rem;
    left: 2.11px;
    height: 24px;
    background: #ff3b3b;
    color: var(--white);
    padding: 2px 8px;
    border-radius: 15px;
    opacity: .8;
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .5px;
    width: 58%;
}

  .testimonial-sec {
    max-width: 35rem;
    right: 8%;
    bottom: 6rem
  }

  .review-count {
    left: 8%;
    bottom: 6rem
  }

  .cta-buttons {
    gap: 1.5rem
  }

  .btn {
    font-size: 1.8rem;
    padding: 1.4rem 2.5rem
  }
}

@media (min-width:1024px) and (max-width:1299px) {
  html {
    font-size: 60%
  }

  .hero-image img {
    width: 40% !important
  }

  .testimonial-sec {
    position: absolute;
    right: 5%;
    bottom: 5rem
  }

  .testimonial-sec {
    position: absolute;
    max-width: 80% !important;
    margin: 2rem auto 0 !important;
    right: 4% !important;
    bottom: 8% !important
  }

  .review-count {
    position: absolute !important;
    left: -28% !important
  }

  .btn {
    font-size: 1.5rem
  }

  .nav-links {
    gap: 2rem
  }

  .nav-links li {
    font-size: 1.5rem
  }

  .demo-inner {
    flex-direction: column;
    align-items: stretch;
    padding: 4rem
  }

  .right-header {
    gap: 1rem
  }

  .megamenu {
    width: 720px
  }

  .title-group .heading {
    font-size: 3.2rem;
    line-height: 5.5rem;
    margin-top: 1.5rem
  }

  .home-banner {
    padding: 0;
    width: 100%;
    max-width: 100%;
    margin: 0
  }

  .home-banner .wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0
  }

  .home-banner .owl-carousel .item {
    width: 100%;
    min-height: 70rem;
    padding: 5rem 2rem 6rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
  }

  .home-banner .watermark {
    font-size: 16rem;
    font-weight: 800;
    width: 100%;
    left: 0;
    right: 0
  }

  .title-group.between-center {
    padding-right: 0;
    gap: 5rem
  }

  .video-sec,
  .productList-sec,
  .demo-container,
  .echosystem-sec,
  .client-testimonial,
  .homesafe-sec,
  .smartLock-sec {
    margin-top: 5rem
  }

  .home-banner .watermark {
    font-size: 20rem
  }

  .review-count {
    position: static !important;
    justify-content: center !important;
    margin: 2rem auto !important;
    left: auto !important;
    bottom: auto !important;
    right: auto !important;
    width: 100% !important;
    text-align: center !important;
    display: flex !important
  }

  .testimonial-sec {
    position: static !important;
    max-width: 70% !important;
    margin: 2rem auto 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    justify-content: center !important;
    transform: none !important;
    padding: 1.5rem
  }

  .product-card {
    height: 30rem
  }

  .product-card h3 {
    font-size: 2.5rem
  }

  .product-card h3 br {
    display: none
  }

  .product-card .arrow-icon {
    width: 3.5rem;
    height: 3.5rem
  }

  .productList-sec .title-group {
    margin-bottom: 5rem
  }

  .category-box h4 {
    font-size: 2.5rem
  }

  .smartLock-sec .lockGroup {
    gap: 8rem
  }

  .demo-container {
    flex-direction: column;
    align-items: center;
    padding: 4rem 0;
    gap: 4rem;
    width: 100%;
    justify-content: center
  }

  .demo-container>.wrapper {
    flex-direction: column;
    align-items: center;
    padding: 0 3rem;
    gap: 4rem;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto
  }

  .demo-container .demo-left-section {
    gap: 3rem;
    width: 100%;
    max-width: 80%;
    position: static;
    padding: 1rem 0 0rem 16rem;
    text-align: center;
    align-items: center;
    justify-content: center
  }

  .video-sec {
    height: 490px
  }

  .demo-product-showcase {
    position: static;
    text-align: center;
    margin-bottom: 2rem;
    top: auto;
    left: auto;
    transform: none;
    display: none
  }

  .demo-right-section {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center
  }

  .demo-title {
    font-size: 3.5rem;
    line-height: 1.2
  }

  .demo-subtitle {
    font-size: 2rem
  }

  .demo-description {
    font-size: 1.4rem;
    max-width: 100%
  }

  .demo-lock-image {
    width: 30rem;
    height: auto
  }

  .feature-card {
    padding: 1rem
  }

  .feature-icon {
    width: 6rem;
    height: 4.5rem
  }

  .demo-form-container {
    max-width: 60rem;
    padding: 2rem;
    margin: 0 auto
  }

  .demo-form-section {
    padding: 3rem
  }

  .demo-form-input,
  .demo-form-select,
  .demo-form-textarea {
    padding: 1.8rem 2rem;
    font-size: 1.6rem;
    border-radius: 1rem
  }

  .demo-form-label {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }

  .demo-form-submit {
    padding: 2rem 4rem;
    font-size: 1.8rem
  }

  .buy-card .card-content {
    padding: 2.5rem
  }

  .buy-card .heading-medium {
    font-size: 2.5rem
  }

  .buy-card .heading-big {
    font-size: 3.5rem;
    line-height: 4rem
  }

  .buy-card p {
    font-size: 1.4rem;
    line-height: 2rem
  }

  .footer-row {
    padding: 3rem 0
  }

  footer .heading-sec h3 {
    font-size: 3rem
  }

  footer .contact-sec {
    gap: 3rem
  }

  .footer-bottom .contact-way {
    gap: 2rem
  }
}
@media (min-width:1080px) and (max-width:1280px) {
    .product-item h4 {
    font-size: 1.5rem;
    line-height: 1.6rem;
    font-weight: 600;
}
.home-page .current-price {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--black80);
    line-height: 1;
}
}
@media (max-width:1080px) {
  .demo-container .demo-left-section {
    padding: 1rem 0 0
  }

  .buy-header .whatsapp-card {
    flex: 0 0 50%;
    width: 100%;
    padding: 4rem
  }
}

@media (min-width:768px) and (max-width:1081px) {
  html {
    font-size: 55%
  }

  .video-sec {
    height: 335px
  }

  .main-header {
    padding: 1.5rem 0
  }

  .nav-links {
    gap: 1.5rem
  }

  .nav-links li,
  .right-header a {
    font-size: 1.5rem;
    font-weight: 400
  }

  .right-header {
    gap: 1rem
  }

  .nav-links li .sub-menu,
  .megamenu {
    top: 63px
  }

  .nav-links li .sub-menu:before,
  .megamenu:before {
    height: 5rem;
    top: -5rem
  }

  .megamenu {
    max-width: 492px;
    padding: 10px;
  }

  .appdownload,
  .nav-links .testimonials {
    display: none
  }

  .category-layout .discount-badge {
    position: absolute;
    top: 10px;
    right: 7.9rem;
    left: 0;
    padding: 2px 7px
  }

  .title-group.between-center .bluegray {
    background: var(--bluegray);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    flex: 0 0 50%;
    font-size: 4.2rem;
    line-height: 1.2
  }
.nav-links .megamenu-parent a {
    color: var(--black80);
    font-size: 1.6rem;
    font-weight: 400;
}
.smart-lock-heading {
    display: flex;
    justify-content: center;
    align-items: center;
}
  .megamenu-container {
    gap: 15px
  }

  .megamenu-row {
    gap: 8px
  }

  .megamenu-product-item {
    min-width: 87px;
    padding: 8px 5px
  }

  .megamenu-product-image {
    width: 50px;
    height: 50px
  }

  .megamenu-product-name {
    font-size: 11px
  }

  .home-banner {
    padding: 0;
    width: 100%;
    max-width: 100%;
    margin: 0
  }
  .nav-links .megamenu-parent a {
    display: flex;
    text-transform: capitalize;
    justify-content: center;
    align-items: center;
}

  .home-banner .wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0
  }

  .home-banner .owl-carousel .item {
    width: 100%;
    min-height: 65rem;
    padding: 4rem 2rem 5rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
  }

  .home-banner .watermark {
    font-size: 15rem !important;
    width: 100%;
    left: 0;
    right: 0
  }

  .hero-image {
    margin-top: 2rem
  }

  .hero-image img {
    width: 70% !important;
    height: 100%
  }

  .highlight-number {
    font-size: 3rem;
    line-height: 4rem
  }

  .review-count {
    position: absolute !important;
    justify-content: center !important;
    margin: 2rem auto !important;
    left: -19% !important;
    bottom: 6% !important;
    right: auto !important;
    width: 100% !important;
    display: none !important
  }

  .review-count small {
    font-size: 1.2rem;
    line-height: 1.8rem
  }

  .home-banner .owl-dots .owl-dot {
    width: 2rem;
    height: 2rem
  }

  .testimonial-sec {
    position: static !important;
    max-width: 80% !important;
    margin: 2rem auto 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    justify-content: center !important;
    transform: none !important;
    padding: 1.5rem
  }

  .testimonial-text p {
    font-size: 1.2rem
  }

  .title-group.between-center {
    flex-direction: column;
    padding: 0;
    align-items: stretch;
    gap: 2rem
  }

  .title-group .heading.skyblue {
    font-size: 3.2rem
  }

  .title-group.between-center .heading {
    line-height: 1.6;
    font-size: 4.2rem;
    max-width: 100%
  }

  .video-slider.owl-carousel .owl-dots {
    display: block !important;
    bottom: -29px !important
  }

  .title-group .heading {
    font-size: 3.5rem;
    line-height: 4.8rem
  }

  .title-group .subtext {
    font-size: 1.6rem;
    line-height: 1.2
  }

  .slide-content {
    max-width: 50%;
    padding: 0 2%
  }

  .echosystem-sec {
    width: 97.55%
  }

  .btn {
    font-size: 1.6rem;
    line-height: 2.5rem
  }

  .video-sec,
  .productList-sec,
  .demo-container,
  .echosystem-sec,
  .client-testimonial,
  .homesafe-sec,
  .smartLock-sec {
    margin-top: 4rem
  }

  .product-card {
    padding: 2rem;
    height: 35rem
  }

  .product-card h3 {
    font-size: 2rem
  }

  .product-card h3 br {
    display: none
  }

  .product-card .arrow-icon {
    width: 3rem;
    height: 3rem;
    margin: -1rem
  }

  .product-card .arrow-icon img {
    width: 50%
  }

  .product-card>img {
    top: 10%
  }

  .productList-sec .title-group {
    margin-bottom: 5rem
  }

  .category-box h4 {
    font-size: 2.5rem;
    line-height: 3rem
  }

  .category-box .product-footer {
    flex-direction: column;
    align-items: flex-start
  }

  .category-box .price {
    margin: 1rem 0 0
  }

  .smartLock-sec .lockGroup {
    gap: 5rem
  }

  .smartLock-sec .lockBox .info {
    padding: 1.5rem
  }

  .smartLock-sec .lockBox .rate {
    right: -2rem
  }

  .smartLock-sec .lockBox .info h4 {
    font-size: 1.8rem
  }

  .video-sec .placeholder {
    height: 40rem
  }

  .demo-container {
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 4rem;
    width: 100%;
    justify-content: center
  }

  .product-gradient {
    padding: 3rem 0
  }

  .demo-container>.wrapper {
    flex-direction: column;
    align-items: center;
    padding: 0 3rem;
    gap: 4rem;
    width: 95%;
    max-width: 1320px;
    margin: 0 auto
  }

  .demo-left-section {
    gap: 3rem;
    width: 100%;
    max-width: 90%;
    position: static;
    text-align: center;
    align-items: center;
    justify-content: center
  }

  .demo-product-showcase {
    display: none;
    position: static;
    text-align: center;
    margin-bottom: 2rem
  }

  .demo-right-section {
    width: 100%;
    max-width: fit-content;
    display: flex;
    justify-content: center;
    padding: 0
  }

  .buy-header .title-group .heading {
    font-size: 4.5rem;
    line-height: 1.2
  }

  .demo-title {
    font-size: 3.5rem;
    line-height: 1.2
  }

  .demo-subtitle {
    font-size: 2rem
  }

  .demo-description {
    font-size: 1.4rem;
    max-width: 100%
  }

  .demo-lock-image {
    width: 25rem;
    height: auto
  }

  .feature-card {
    padding: 1rem
  }

  .feature-icon {
    width: 6rem;
    height: 4.5rem
  }

  .demo-form-container {
    max-width: 60rem;
    padding: 4rem 3rem;
    margin: 0 auto
  }

  .demo-form-section {
    padding: 3rem
  }

  .demo-form-input,
  .demo-form-select,
  .demo-form-textarea {
    padding: 1.8rem 2rem;
    font-size: 1.6rem;
    border-radius: 1rem
  }

  .demo-form-label {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }

  .demo-form-submit {
    padding: 2rem 4rem;
    font-size: 1.8rem
  }

  .buy-card .card-content {
    padding: 2rem
  }

  .buy-card .heading-medium {
    font-size: 2rem
  }

  .buy-card .heading-big {
    font-size: 3rem;
    line-height: 4rem
  }

  .buy-card p {
    font-size: 1.3rem;
    line-height: 2rem
  }

  .buy-header {
    margin-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: start
  }

  .buy-header .title-group {
    max-width: 100%
  }

  .buy-body {
    gap: 2rem
  }

  .echosystem-sec {
    padding: 4rem 3rem;
    margin: 0;
    border-radius: 2rem;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: fit-content
  }

  .echosystem-sec .title-group {
    max-width: 100%
  }

  .echosystem-sec .title-group .heading {
    font-size: 3.5rem;
    line-height: 1.2;
    margin-top: 2rem
  }

  .echosystem-sec .title-group .subtext {
    font-size: 1.5rem;
    max-width: 100%
  }

  .client-testimonial .title-group .heading {
    font-size: 3rem
  }

  .video-card .video-text,
  .testimonial-grid .text-review {
    font-size: 1.4rem;
    line-height: 2.2rem
  }

  .testimonial-grid .video-card,
  .testimonial-grid .text-card {
    height: 30rem
  }

  .testimonial-grid .text-card {
    padding-top: 2rem
  }

  .testimonial-grid .toprow {
    margin-bottom: 2rem
  }

  .testimonial-grid .toprow>img {
    width: 3rem !important
  }

  .blank-sec {
    height: 30rem
  }

  .explore-section {
    padding: 4rem 0 0
  }

  .explore-title {
    font-size: 4rem;
    line-height: 5rem
  }

  .explore-subtitle {
    font-size: 1.6rem;
    max-width: 80%
  }

  .product-category-section {
    padding: 3rem;
    margin-bottom: 2rem
  }

  .category-layout {
    flex-direction: column;
    gap: 2rem
  }

  .category-header {
    flex: none;
    text-align: center
  }

  .category-header h3 {
    font-size: 2.8rem;
    margin-bottom: 0
  }

  .category-products {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem
  }

  .doorlocks-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .gps-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .product-item {
    padding: 2rem 1rem;
    max-width: 180px
  }

  .product-item img {
    height: 10rem
  }

  .product-item {
    padding: 2.5rem 1.5rem
  }

  .product-item img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 11rem;
    object-fit: contain;
    aspect-ratio: 4 / 3
  }

  .add-to-cart {
    padding: .8rem 1.5rem;
    font-size: 1.2rem
  }

  

  footer .contact-sec a {
    font-size: 1.5rem
  }

  footer .heading-sec h3 {
    font-size: 2.3rem
  }

  footer .heading-sec p {
    font-size: 1.5rem;
    line-height: 2.5rem
  }

  .footer-row {
    padding: 3rem 0
  }

  .footer-bottom .contact-way {
    gap: 2rem;
    flex: 0 0 80%
  }

  .footer-bottom p,
  .footer-bottom a {
    font-size: 1.4rem;
    line-height: 2rem
  }

  .footer-main p {
    font-size: 1.4rem;
    margin-top: 1rem
  }

  .footer-col ul li {
    font-size: 1.4rem;
    line-height: 3rem
  }

  .footer-col h4 {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }

  .footer-col.about-col {
    flex: 2.5
  }
}

@media (min-width:768px) {
  .tech-row {
    font-size: 13px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px
  }

  .nav-links li:hover a {
    color: var(--skyblue)
  }

  .nav-links li .sub-menu {
    display: none
  }

  .nav-links li:hover .sub-menu {
    display: block
  }

  .megamenu {
    display: none
  }

  .nav-links .megamenu-parent:hover .megamenu,
  .nav-links .megamenu-parent.open .megamenu {
    display: flex !important;
    opacity: 1;
    visibility: visible;
    z-index: 0
  }

  .nav-links .megamenu-parent .megamenu:hover {
    display: flex !important;
    opacity: 1;
    visibility: visible
  }

  .megamenu-mobile-category {
    display: none !important
  }
}

@media (max-width:767px) {
  html {
    font-size: 50%
  }

  body.overlay {
    position: relative
  }

  body.overlay:before {
    display: none !important
  }

  .title-group.center {
    padding: 0 0rem;
    position: relative;
    top: 3rem
  }

  .title-group .heading {
    font-size: 3.8rem;
    line-height: 4.4rem;
    font-weight: 700
  }

  .title-group.between-center {
    flex-direction: column;
    padding: 0;
    align-items: stretch;
    gap: 2rem
  }

  .title-group.between-center .heading {
    line-height: 1.2;
    font-size: 2.5rem;
    max-width: 100%
  }

  .slide-content {
    max-width: 100%;
    padding: 0
  }

  .discount-badge {
    position: absolute;
    top: 3px;
    right: 11.9rem;
    width: 68.72px;
    left: 10.11px;
    height: 22px;
    background: #ff3b3b;
    color: var(--white);
    padding: 3px 8px 2px;
    border-radius: 15px;
    opacity: .8;
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .5px;
    width: 55%;
  }

  .title-group .divider {
    width: 100%
  }

  .explore-section {
    padding: 4rem 0 0
  }

  .explore-title {
    font-size: 3rem;
    line-height: 4rem
  }

  .explore-subtitle {
    max-width: 100%;
    font-size: 1.5rem
  }

  .explore-header {
    padding: 0 1rem
  }

  .product-category-section {
    padding: 3rem 2rem;
    margin-bottom: 2rem
  }

  .category-layout {
    flex-direction: column;
    gap: 2rem
  }

  .category-header {
    flex: none;
    text-align: center
  }

  .category-header h3 {
    font-size: 2.5rem;
    line-height: 3rem;
    margin-bottom: 0
  }

  .category-products {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem
  }

  .doorlocks-grid,
  .gps-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .product-item {
    max-width: 100%;
    padding: 1.5rem 1rem
  }

  .product-item img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 9rem;
    object-fit: contain;
    aspect-ratio: 4 / 3
  }

  .product-item {
    max-width: 100%;
    padding: 2rem 1.5rem
  }

  .product-item img {
    height: 10rem
  }

  .current-price {
    font-size: 1.8rem
  }

  .product-item h4 {
    font-size: 1.5rem
  }

  .add-to-cart {
    padding: .8rem 1.2rem;
    font-size: 1.1rem;
    margin-top: 1rem
  }

  .top-header {
    padding: 1rem 0
  }

  .top-header .wrapper.between-center {
    flex-direction: column
  }

  .contact-info a img {
    margin-right: .3rem
  }

  .contact-info .email {
    width: 2rem
  }

  .contact-info .phone {
    width: 1.5rem
  }

  .social-icons {
    margin-top: 1rem;
    display: none;
  }
  .right-header .appdownload{
       display: none;
  }

  .social-icons li a {
    width: 3.4rem;
    height: 3.4rem
  }

  .nav-links {
    flex-direction: column;
    position: fixed;
    left: 0;
    top: 0;
    width: 80%;
    background-color: var(--white);
    height: 100%;
    z-index: 999;
    gap: 0;
    transform: translate(-102%);
    transition: .5s
  }

  .nav-links.slide {
    transform: translate(0)
  }

  .nav-links li {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(0, 0, 0, .2)
  }

  .nav-links li a {
    display: block;
    flex: 1;
    padding: 1.5rem 8%
  }

  .nav-links li a:hover {
    background: var(--skyblue);
    color: var(--white)
  }

  .nav-links li .arrowSign {
    width: 6rem;
    position: relative
  }

  .nav-links li .arrowSign.rotate {
    transform: rotate(180deg)
  }

  .nav-links li .arrowSign:before {
    position: absolute;
    left: calc(50% - 1rem);
    top: calc(50% - 1rem);
    width: 1.5rem;
    height: 1.5rem;
    border-right: 1px solid rgba(0, 0, 0, .4);
    border-bottom: 1px solid rgba(0, 0, 0, .4);
    transform: rotate(45deg);
    content: ""
  }

  .nav-links li .sub-menu {
    position: static;
    width: 100%;
    box-shadow: none;
    display: none;
    border-top: 1px solid rgba(0, 0, 0, .2)
  }

  .nav-links li .sub-menu li {
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    font-size: 1.5rem;
    font-weight: 400
  }

  .nav-links li .sub-menu li a {
    padding: 1.3rem 2% 1.2rem 12%
  }

  .megamenu {
    position: static;
    padding: 0;
    box-shadow: none;
    border-top: 1px solid rgba(0, 0, 0, .2);
    width: 100%;
    display: none;
    z-index: 1000;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important
  }

  .megamenu.active {
    display: block !important;
    animation: slideDown .3s ease;
    max-height: 1000px;
    overflow: visible
  }

  .megamenu:not(.active) {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease
  }

  @keyframes slideDown {
    0% {
      opacity: 0;
      max-height: 0
    }

    to {
      opacity: 1;
      max-height: 1000px
    }
  }

  .megamenu:before,
  .nav-links li .sub-menu:before {
    display: none
  }

  .nav-links .megamenu {
    display: none
  }

  .nav-links .megamenu.active {
    display: block !important
  }

  .nav-links .megamenu-parent.open>.megamenu {
    display: block !important
  }

  .megamenu-container {
    gap: 10px;
    padding: 15px
  }

  .megamenu-row {
      display: grid;
   grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    justify-content: flex-start
  }

  .megamenu-product-item {
    flex: 0 0 calc(33.333% - 6px);
    min-width: 100%;
    padding: 8px 5px;
    text-align: center
  }

  .megamenu-product-image {
    width: 76px;
    height: 76px;
    margin: 0 auto
  }

  .megamenu-product-name {
    font-size: 1.3rem;
    line-height: 1.2;
    font-weight: 500;
  }

  .megamenu-mobile-category {
    display: block
  }

  .megamenu-mobile-header {
    border: none;
    padding: 1.5rem 2% 1.5rem 12%;
    margin: 0;
    font-weight: 600;
    color: var(--skyblue);
    font-size: 1.6rem;
    position: relative;
    cursor: pointer;
    display: block;
    -webkit-user-select: none;
    user-select: none
  }

  .nav-links .megamenu-parent a {
    color: var(--black);
    font-size: 1.6rem;
    font-weight: 500;
    text-transform: capitalize;
    padding: 1.5rem 8%;
    display: block;
    flex: 1
  }

  .nav-links .megamenu-parent a:hover {
    background: var(--skyblue);
    color: var(--white)
  }

  .nav-links .megamenu-parent a:after {
    display: none !important
  }

  .megamenu-mobile-header.rotate:after {
    transform: rotate(225deg)
  }

  .megamenu-mobile-header:after {
    position: absolute;
    right: 2.5rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 1rem;
    height: 1rem;
    border-right: 2px solid var(--skyblue);
    border-bottom: 2px solid var(--skyblue);
    content: "";
    transition: transform .3s ease
  }

  .megamenu-mobile-list {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #f0f0f080
  }

  .megamenu-mobile-list li {
    margin-bottom: 0;
    font-weight: 400;
    border-bottom: 1px solid rgba(0, 0, 0, .1)
  }

  .megamenu-mobile-list li:last-child {
    border: none
  }

  .megamenu-mobile-list li a {
    font-size: 1.4rem;
    padding: 1.2rem 2% 1.2rem 18%;
    opacity: .8;
    display: block;
    color: var(--black);
    text-decoration: none
  }

  .megamenu-mobile-list li a:hover {
    opacity: 1;
    background: #0000000d
  }

  .megamenu-mobile-list li a {
    pointer-events: auto;
    position: relative;
    z-index: 1001
  }

  .main-header {
    padding: 1.5rem 0
  }

  .main-header .logo img {
    width: 15rem
  }

  .right-header {
    gap: 2rem
  }

  .toggleBtn {
    display: block
  }

  .home-banner {
    padding: 0;
    width: 100%;
    max-width: 100%;
    margin: 0
  }

  .home-banner .wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0
  }

  .home-banner .owl-carousel .item {
    width: 100%;
    min-height: 55rem;
    padding: 3rem 1rem 4rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
  }

  .home-page .home-banner .watermark {
    font-size: 14rem;
    top: 29%;
    width: 100%;
    left: 0;
    right: 0
  }

  .home-page .home-banner .watermark {
    width: 45% !important
  }

  .review-count {
    position: absolute !important;
    justify-content: center !important;
    margin: 2rem auto !important;
    left: -29% !important;
    bottom: 7% !important;
    right: auto !important;
    width: 100% !important;
    text-align: center !important;
    display: flex !important
  }

  .home-banner .testimonial-sec {
    position: absolute;
    max-width: 90% !important;
    margin: 2rem auto 0 !important;
    right: 9% !important;
    bottom: 7% !important;
    left: auto !important;
    display: flex !important;
    justify-content: center !important;
    transform: none !important
  }

  .home-banner .owl-dots {
    position: absolute !important;
    justify-content: center !important;
    margin: 3rem auto 0 !important;
    left: auto !important;
    transform: none !important;
    bottom: 1% !important;
    right: auto !important;
    width: 100% !important;
    text-align: center !important
  }

  .home-banner .owl-dots .owl-dot {
    width: 1rem;
    height: 1rem
  }

  .video-sec,
  .productList-sec,
  .demo-container,
  .echosystem-sec,
  .client-testimonial,
  .homesafe-sec,
  .smartLock-sec {
    margin-top: 5rem
  }

  .video-sec .placeholder {
    height: 20rem;
    border-radius: 2rem
  }

  .productList-sec .title-group {
    margin-bottom: 4rem;
    text-align: center;
  }

  .product-grid {
    flex-wrap: wrap;
    gap: 1rem
  }

  .product-card.small,
  .product-card.large,
  .product-card {
    flex: 0 0 calc(50% - .5rem);
    padding: 2rem
  }

  .product-card h3 {
    font-size: 2rem;
    line-height: 2.5rem;
    text-align: center
  }

  .product-card h3 br,
  .product-card .arrow-icon {
    display: none
  }

  .product-card>img {
    position: static;
    max-height: 20rem
  }

  .product-container {
    flex-direction: column;
    gap: 2rem
  }

  .category-box {
    margin-bottom: 2rem
  }

  .category-box .product-image {
    height: 35rem
  }

  .category-box .product-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem
  }

  .category-box .product-footer .btn {
    align-self: flex-start
  }

  .smartLock-sec {
    padding: 3rem 0
  }

  .smartLock-sec .wrapper {
    flex-direction: column;
    align-items: stretch
  }

  .smartLock-sec .title-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem
  }

  .smartLock-sec .title-group .btn {
    margin: 0
  }

  .smartLock-sec .heading br {
    display: none
  }

  .smartLock-sec .lockGroup {
    overflow-x: auto;
    gap: 5rem;
    -ms-overflow-style: none;
    scrollbar-width: none
  }

  .smartLock-sec .lockGroup::-webkit-scrollbar {
    display: none
  }

  .smartLock-sec .lockBox .info h4 {
    white-space: nowrap
  }

  .demo-container {
    flex-direction: column;
    align-items: stretch;
    padding: 2rem 0;
    gap: 2rem;
    width: 100%;
    min-height: auto;
    overflow: hidden;
    margin-top: 3rem
  }

  .demo-container>.wrapper {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    gap: 2rem;
    width: 100%;
    max-width: 100%;
    margin: 0
  }

  .demo-container .inner-box {
    width: 100%;
    margin: 0;
    padding: 0 1rem;
    flex-direction: column
  }

  .demo-left-section {
    width: 100%;
    max-width: 100%;
    position: static;
    padding: 2rem 1rem;
    order: 2;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    text-align: center
  }

  .demo-product-showcase {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    text-align: center;
    margin-bottom: 0;
    order: 1;
    padding: 2rem 0
  }

  .demo-right-section {
    width: 100%;
    max-width: 100%;
    padding: 0 1rem 2rem;
    order: 3
  }

  .demo-lock-image {
    width: 18rem;
    height: auto;
    margin: 0 auto
  }

  .demo-content .demo-heading {
    font-size: 2.5rem;
    line-height: 3.5rem;
    margin-bottom: 1rem
  }

  .demo-content .demo-subheading {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }

  .demo-content .demo-description {
    font-size: 1.3rem;
    line-height: 1.8rem;
    margin-bottom: 2rem;
    max-width: 100%
  }

  .demo-app-buttons {
    justify-content: center;
    margin-bottom: 2rem;
    gap: 1rem
  }

  .demo-app-buttons img {
    height: 4rem
  }

  .demo-form-container {
    padding: 3rem 2.5rem
  }

  .demo-form-row {
    flex-direction: column;
    gap: 2.5rem
  }

  .demo-form-input,
  .demo-form-select,
  .demo-form-textarea {
    padding: 2rem 2.5rem;
    font-size: 1.8rem;
    border-radius: 1.2rem
  }

  .demo-form-label {
    font-size: 1.2rem;
    margin: 1.2rem .1rem;
    font-weight: 500
  }

  .right-header a {
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 600;
    color: #000
  }

  .main-header .logo img {
    width: 12rem
  }

  .title-group .heading {
    font-size: 3rem;
    line-height: 1.2;
    font-weight: 700
  }

  .demo-right-section {
    padding: 2rem 0
  }

  .category-products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
  }

  .buy-body {
    display: grid;
    grid-template-columns: unset;
    gap: 2rem;
    margin-top: 4rem
  }

  .demo-lock-image {
    display: none !important
  }
}

@media (max-width: 320px) {
  .title-group .heading {
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: 700
  }

  .title-group .subtext {
    font-size: 1.5rem !important;
    line-height: 1.5 !important;
    color: var(--black80);
    max-width: 100% !important
  }

  .smart-lock-card {
    margin: 0 auto
  }

  .home-banner .testimonial-sec {
    display: none !important
  }

  .home-banner .owl-stage .owl-item .item {
    padding: 0 0 5rem !important
  }

  .echosystem-sec .play-button {
    top: 74%;
    right: 7rem
  }

  .smart-lock-container {
    flex-direction: column;
    gap: 1rem !important
  }

  .title-group.between-center .slide-content {
    max-width: 100%;
    padding: 0 1%
  }

  .headline {
    font-size: 3.2rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0
  }

  .title-group.between-center {
    gap: 1rem
  }

  .buy-header .whatsapp-card {
    padding: 3rem
  }

  .home-banner .owl-dots {
    position: absolute !important;
    bottom: 4% !important
  }

  .btn:not(.owl-dot):not(.owl-dot span) {
    padding: 1rem 4rem 1rem 2rem !important
  }

  .home-page .home-banner .watermark {
    font-size: 7rem;
    top: 35%
  }

  .home-banner .btn:not(.owl-dot):not(span) {
    font-size: 1.3rem !important;
    line-height: 1.6rem !important;
    padding: 1.3rem 4rem 1.3rem 1.8rem !important;
    text-transform: capitalize;
    font-weight: 400;
    max-width: fit-content
  }

  .product-gradient {
    padding: 3rem 0
  }

  .btn:not(.owl-dot):not(span) {
    font-size: 1.4rem !important;
    line-height: 2.6rem !important;
    padding: 1.3rem 8rem 1.3rem 2.6rem !important;
    text-transform: capitalize;
    font-weight: 400;
    max-width: fit-content
  }

  .demo-form input,
  .demo-form select,
  .demo-form textarea {
    color: var(--gray)
  }

  .home-page .discount-badge {
    font-size: 1.2rem
  }

  .buy-header .title-group .heading {
    font-size: 2.9rem;
    line-height: 3.6rem
  }

  .hero-image img {
    width: 100% !important
  }

  .demo-container {
    padding: 3rem 1.5rem
  }

  .video-sec {
    width: 100%;
    height: 23rem !important
  }

  .title-group.between-center .heading {
    line-height: 4.5rem;
    font-size: 3.5rem;
    max-width: 100%
  }

  .buy-header .whatsapp-card {
    background-position-x: left
  }

  .hero-image {
    margin: -2.7rem 40px -2px
  }

  .review-count {
    position: static !important;
    justify-content: center !important;
    margin: 1rem auto !important;
    left: 0% !important;
    bottom: 0% !important;
    right: auto !important;
    width: 100% !important;
    text-align: center !important;
    display: flex !important
  }

  .showcase-image {
    display: none;
    height: 5rem
  }

  .testimonial-sec {
    position: static !important;
    padding: 1.5rem 2rem;
    margin: 2rem auto 0;
    max-width: 90%;
    right: auto !important;
    bottom: auto !important;
    border-radius: 1.5rem
  }

  .cta-buttons {
    margin-top: 6.6rem;
    position: relative;
    top: 2px
  }

  .home-banner .review-count {
    display: none !important
  }

  .inner-box {
    width: 95%;
    margin: 0 auto
  }

  .tech-value {
    flex: 0 0 195px;
    text-align: left;
    word-break: break-word
  }

  .tech-row {
    font-size: 13px;
    justify-content: flex-start;
    display: flex;
    align-items: flex-start;
    gap: 12px
  }

  .tech-label {
    flex: 0 0 130px;
    color: #222;
    font-weight: 500;
    word-break: break-word
  }

  .demo-content .demo-heading {
    font-size: 3.2rem;
    line-height: 1.3
  }

  .demo-product-showcase {
    position: relative;
    padding: 0rem 0
  }

  .demo-app-buttons {
    justify-content: center;
    margin-bottom: 0rem;
    gap: 1rem
  }

  .video-sec {
    width: 100%;
    height: 23rem !important;
    margin-bottom: 20px !important
  }

  .demo-content .demo-subheading {
    font-size: 1.6rem
  }

  .demo-form-container {
    padding: 0rem
  }

  .demo-form-input,
  .demo-form-select,
  .demo-form-textarea {
    padding: 2.2rem 2.5rem;
    font-size: 2rem;
    border-radius: 1.2rem
  }

  .demo-form-row {
    gap: 1.5rem
  }

  .demo-form-label {
    font-size: 1.2rem;
    margin-bottom: .5rem;
    font-weight: 500
  }

  .demo-right-section {
    padding: 2rem 1rem 3rem 0
  }

  .demo-form-submit {
    width: 70%;
    align-self: center;
    padding: 1.3rem;
    font-size: 1.4rem;
    margin-top: 3rem;
    font-weight: 500
  }
}

@media (max-width: 767px) {
  .product-layout {
    flex-direction: column;
    gap: 3rem
  }

  .product-images-container {
    flex-direction: column-reverse;
    max-width: 100%;
    margin: 0;
    gap: 2rem
  }

  .product-thumbnails {
    flex-direction: row;
    justify-content: center;
    flex: none;
    gap: 1rem;
    overflow-x: auto;
    padding: 0 1rem
  }

  .thumbnail {
    width: 9rem;
    height: 9rem;
    flex-shrink: 0;
    border-width: 3px
  }

  .main-image-container {
    min-height: 40rem;
    padding: 3rem;
    margin-bottom: 0;
    order: 1
  }

  .product-info-container {
    padding-left: 0;
    padding: 0 2rem
  }

  .product-title {
    font-size: 2.4rem;
    text-align: center
  }

  .price-section {
    justify-content: center;
    text-align: center
  }

  .current-price {
    font-size: 2.4rem
  }

  .highlights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem
  }

  .highlight-item {
    padding: 1.5rem 1rem;
    text-align: center
  }

  .highlight-icon {
    width: 3rem;
    height: 3rem
  }

  .highlight-text {
    font-size: 1.3rem;
    line-height: 1.4
  }

  .product-actions {
    flex-direction: column;
    gap: 1.5rem;
    padding: 0 1rem
  }

  .order-btn,
  .add-to-cart-btn {
    justify-content: center;
    width: 100%;
    padding: 1.8rem 2rem;
    font-size: 1.6rem
  }

  .order-btn svg,
  .add-to-cart-btn svg {
    width: 2.4rem;
    height: 2.4rem
  }

  .delivery-info-section {
    flex-direction: column;
    gap: 1.5rem;
    padding: 0 1rem
  }

  .delivery-item {
    padding: 1.5rem
  }

  .delivery-icon {
    width: 3rem;
    height: 3rem
  }

  .delivery-label {
    font-size: 1.4rem
  }

  .delivery-value {
    font-size: 1.3rem
  }

  .tabs-header {
    flex-wrap: wrap
  }

  .tab-button {
    flex: 0 0 48%;
    font-size: 1.2rem;
    padding: 1.5rem 1rem;
    text-align: center
  }

  .tabs-content {
    padding: 2rem
  }

  .spec-row {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    padding: 1.5rem 1rem
  }

  .spec-label {
    flex: none;
    font-size: 1.4rem
  }

  .spec-value {
    text-align: left;
    font-size: 1.3rem
  }
}

@media (max-width: 320px) {
  .hero-title {
    font-size: 2.5rem
  }

  .buy-section {
    margin-top: 5rem
  }

  .title-group.center {
    padding: 2.5rem 1.5rem;
    top: 2rem
  }

  .client-testimonial .review-number {
    margin-bottom: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    vertical-align: middle;
    justify-content: center;
    text-align: center;
    gap: .5rem
  }

  .buy-card .card-title,
  .buy-card .card-subtitle {
    text-align: left
  }

  .whatsapp-card .description {
    padding: 0
  }

  .client-testimonial .review-number .btn {
    margin-left: 1rem;
    max-width: 70%;
    font-size: 1.4rem !important
  }

  .buy-header {
    margin-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 2rem
  }

  .buy-header .title-group {
    max-width: 100%
  }

  .video-slider.owl-carousel .owl-dots {
    bottom: -28px !important
  }

  .owl-theme .owl-dots .owl-dot.active span,
  .owl-theme .owl-dots .owl-dot:hover span {
    background: none !important;
    display: none !important
  }

  .product-images-container {
    gap: 1.5rem
  }

  .thumbnail {
    width: 8rem;
    height: 8rem
  }

  .main-image-container {
    min-height: 35rem;
    padding: 2.5rem
  }

  .product-info-container {
    padding: 0 1.5rem
  }

  .highlights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
  }

  .highlight-item {
    padding: 1.2rem .8rem
  }

  .highlight-icon {
    width: 2.5rem;
    height: 2.5rem
  }

  .highlight-text {
    font-size: 1.2rem
  }

  .current-price,
  .original-price {
    font-size: 1.4rem !important
  }

  .product-item h4 {
    font-size: 1.6rem !important
  }

  .product-actions {
    padding: 0 .5rem
  }

  .order-btn,
  .add-to-cart-btn {
    padding: 1.6rem 1.5rem;
    font-size: 1.5rem
  }

  .delivery-info-section {
    padding: 0 .5rem
  }

  .delivery-item {
    padding: 1.2rem
  }

  .delivery-icon {
    width: 2.5rem;
    height: 2.5rem
  }

  .delivery-label {
    font-size: 1.3rem
  }

  .delivery-value {
    font-size: 1.2rem
  }
}

@media (max-width: 1199px) {
  .cart-layout {
    grid-template-columns: 1fr;
    gap: 3rem
  }

  .cart-item {
    grid-template-columns: 100px 1fr auto;
    gap: 1.5rem;
    padding: 2rem
  }

  .product-image {
    width: 10rem;
    height: 10rem
  }

  .product-details h3 {
    font-size: 1.8rem
  }

  .item-controls {
    min-width: 180px
  }

  .current-price {
    font-size: 2rem
  }
}

@media (max-width: 991px) {
  .cart-layout {
    grid-template-columns: 1fr;
    gap: 3rem
  }

  .cart-item {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem;
    text-align: left
  }

  .product-image {
    width: 100%;
    max-width: 20rem;
    height: 15rem;
    justify-self: center
  }

  .product-details {
    text-align: center
  }

  .item-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    width: 100%;
    min-width: auto;
    align-items: start
  }

  .price-section {
    text-align: left
  }

  .price-info,
  .quantity-section {
    align-items: flex-start
  }

  .total-section {
    grid-column: 1 / -1;
    text-align: center;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid #f0f0f0
  }

  .item-actions {
    grid-column: 1 / -1;
    justify-content: center;
    gap: 1rem
  }

  .save-later-btn,
  .buy-now-btn {
    flex: 1;
    max-width: 15rem
  }

  .remove-btn {
    top: .5rem;
    right: .5rem
  }

  .products-content {
    padding: 2rem 0
  }

  .products-controls {
    padding: 2rem;
    text-align: center
  }

  .products-filters {
    order: 2;
    width: 100%;
    justify-content: space-between
  }

  .products-grid,
  .products-grid.columns-2,
  .products-grid.columns-4,
  .products-grid.columns-5 {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media only screen and (max-width: 320px) {
  .footer-top {
    display: block !important
  }

  footer .heading-sec {
    max-width: 100% !important
  }

  footer .heading-sec h3 {
    margin-bottom: 5rem
  }

  footer .contact-sec div {
    margin-bottom: 30px
  }

  footer .contact-sec h4 {
    margin-bottom: 4px !important;
    line-height: 1 !important
  }

  footer .contact-sec {
    display: block !important;
    margin-bottom: 1rem !important
  }

  footer .heading-sec h3 {
    font-size: 1.6rem !important;
    margin-bottom: 2rem !important
  }

  .footer-main p {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 10px
  }
}

@media only screen and (max-width: 576px) {
  .offer-content {
    text-align: left !important
  }

  .section-title,
  .surveillance-page .how-it-works-main-title {
    font-size: 2.5rem !important;
    
  }
.contact-info {
        gap: 12px;
        flex-direction: row;
        text-align: center;
        justify-content: space-between;
        align-items: center;
        display: flex;
      }
.contact-info a {
    font-size: 1.1rem;
    
}

  .testimonials-page .testimonials-hero-title {
    font-size: 2.5rem !important
  }

  .about-vision-content {
    display: block !important
  }

  .about-vision-image img {
    height: unset !important;
    margin-top: 20px !important
  }

  .about-mission-content {
    display: block !important
  }

  .about-mission-description li {
    font-size: 1.5rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.5rem !important
  }

  .about-core-values-content {
    display: block !important
  }

  .core-values-list li {
    font-size: 1.5rem !important;
    line-height: 1.5 !important
  }

  .commitment-description {
    font-size: 1.5rem !important;
    line-height: 1.8 !important;
    text-align: left !important
  }

  .info-group,
  .form-group {
    margin-bottom: 2rem !important;
    padding: 0 !important
  }

  .country-code {
    flex: 0 0 50px !important
  }

  .signin-page .country-code {
    padding: 1rem !important;
    min-width: 4rem !important
  }

  .signin-page .country-code,
  .form-group input[type=tel] {
    padding: 5px !important
  }

  .why-choose-us-card {
    width: 100%;
    max-width: 34rem
  }

  .why-choose-us-cards-container {
    padding: 0 !important
  }

  .why-choose-us-title {
    margin-bottom: 2rem
  }

  .trusted-logo-item {
    width: 100%
  }

  .trusted-logos-grid {
    padding: 0 !important
  }
}
@media (min-width: 481px) and (max-width: 767px) {  
  /* iPhone Plus, big Android phones */  
  .buy-header {
    margin-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: start;
  }
  .buy-header .title-group {
      max-width: 100%;
  }
  .buy-header .title-group .heading {
    font-size: 3.2rem;
    line-height: 3.6rem;
  }
  .buy-header .whatsapp-card {
      flex: 0 0 50%;
      width: 100%;
      padding: 4rem;
  }
}
@media only screen and (min-width: 620px) and (max-width: 1024px) {
    .how-it-works-blue-area {
    padding: 4rem 0 4rem;
}
.how-it-works-main-title{
    margin-bottom: 1rem !important;
}
.step-flow-description {
    font-size: 1.6rem;
    line-height: 1.4;
}
.step-flow-title {
    font-size: 3rem;
    font-weight: 600;
    color: var(--black80);
    margin-bottom: 1rem;
}
.right-header {
        margin-left: auto;
    }
.step-flow-item {
        margin-bottom: 2rem;
    }
.how-it-works-header{
    flex-direction: column;
    justify-content: center;
        align-items: center;
}
.smart-lock-section {
    padding: 0rem 0;
    background: #f9f9f9;
}
    .smart-lock-products {
        flex-direction: row;
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
        padding-bottom: 3rem;
    }
.how-it-works-right {
    flex: 1;
    padding: 0;
}
  .slidingsec .highlight, .echodec .highlight {
      background: linear-gradient(to right, #ffc107, #f5a56f, #ceb055);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 1.2;
      display: block;
  }
  
  .hero-image img{
      width: 70% !important;
  }
  .home-banner .mediascreen {
        min-height: 56rem !important;
        max-height: 56rem !important;
    }
  .demo-right-section {
        padding: 0rem 0rem 7rem 0 !important;
    }
.home-banner .testimonial-sec, .home-banner .review-count{
        display: none !important;
    }
     .why-it-works-features-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }
  .why-choose-us-cards-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6rem;
    max-width: 120rem;
    margin: 0 auto;
    padding: 0 2rem;
}
  .title-group.between-center{
    flex-direction: row !important;
  }
  .product-gradient .title-group .heading.skyblue {
    color: #4a90e2;
    flex: 0 0 54%;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 3.5rem;
}
  .title-group .heading {
      font-size: 3.2rem;
      line-height: 1.4;
  }
  .banner-background {
    position: relative;
    width: 100%;
    height: 345px;
    background: var(--blue);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: cover;
}
.smart-lock-image img {
    max-width: 14rem;
    max-height: 100%;
    object-fit: contain;
}
 .smart-lock-card{
     min-height: 36rem;
 }   
.smart-lock-image {
    height: 20rem;
}
  .footer-main {
    display: grid;
    justify-content: space-between;
    gap: 1.4rem;
    flex-direction: column;
    grid-template-columns: repeat(4, 1fr);
  }
  .footer-col.about-col {
      grid-column: 1 / -1;
  }
  .footer-top{
      display: grid;
    justify-content: space-between;
    gap: 1.4rem;
    flex-direction: column;
    grid-template-columns: repeat(2, 1fr);
  }
  footer .contact-sec {
    gap: 3rem
  }
  .product-item h4 {
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
}
footer .contact-sec
 {
    display: inline-flex;
    margin-bottom: 0.2rem;
}
  .footer {
    background: #2c3e50;
    color: #fff;
    padding: 0rem 0 2rem;
    margin-top: auto;
}
footer .heading-sec {
    max-width: 100%;
    grid-column: 1 / -1;
    margin: 0;
    padding: 0;
}
.demo-form-row {
    display: flex;
    gap: 2.5rem;
    padding-top: 2rem;
}
.home-page .current-price {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--black80);
    line-height: 1.2;
}
    .demo-form-label {
        font-size: 1.3rem;
        margin-bottom: 1rem;
    }
.title-group.between-center .bluegray {
      background: var(--bluegray);
      -webkit-text-fill-color: transparent;
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      flex: 0 0 50%;
      font-size: 2.6rem !important;
      line-height: 1.2;
  }
  .title-group .subtext {
    font-size: 1.4rem;
    line-height: 1.6;
    color: var(--black80);
}

.btn:not(.owl-dot):not(.owl-dot span) {
    padding-right: 6rem !important;
    font-size: 1.4rem !important;
    font-weight: 500;
    line-height: 1.2 !important;
    padding: 1.2rem 5rem 1.2rem 1.2rem !important;
    
}

}


@media only screen and (max-width: 768px) {
    
    .buy-header {
        margin-bottom: 2.5rem;
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .buy-header .title-group .heading {
         line-height: 1.2;
     }
}
@media only screen and (max-width: 992px) {
    .comparison-table tr td {
        font-size: 10px;
        min-width: 115px;
        text-align: left;
        padding: 10px 19px;
    }
.comparison-table tr td:first-child {
        text-align: left;
        min-width: 116px;
    }
 
.comparison-header-cell.first {
    padding-left: 0rem;
}
    .comparison-table-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
    border-radius: 20px;
}

    
}
@media (min-width: 320px) and (max-width: 480px) {
  .buy-header {
    margin-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: start
  }
  .home-page .discount-badge{
    padding: 3px 5px;
    font-size: 1.2rem;
    width: 65%;

  }
  .right-header{
      margin-left: auto;
  }
  .nav-links li a:after {
    background: none;
    transition: width .3s ease;
      
  }
  .comparison-header-cell.first {
    background: linear-gradient(135deg, #d1eefe, #d1eefe);
    text-align: left;
    font-size: 1.8rem;
    padding-left: 2rem;
    color: #11345a;
}
  .how-it-works-right {
  flex: 1;
  padding: 2px 0;

}
.how-it-works-main-title {
     text-align: center;
    }
  .cta-buttons {
    display: flex;
    justify-content: center;
    gap: 2em;
    margin-top: 0.6rem;
  }
  .megamenu-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        justify-content: flex-start;
    }
.demo-right-section {
        padding: 0 !important;
    }
 .smart-lock-heading {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2rem 0px;
    flex-direction: column;
    text-align: center;
    width: 100%;
}
.banner-background {
    position: relative;
    width: 100%;
    height: 300px;
    background: var(--blue);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: cover;
}
  
.product-gradient {
    padding: 3rem 0;
}
  .buy-header .title-group {
    max-width: 100%
  }

  .buy-body {
    gap: 2rem
  }

  .buy-header .title-group .heading {
    font-size: 2.9rem;
    line-height: 3.6rem
  }

  .hero-image img {
    width: 100% !important
  }

  .echosystem-sec .title-group .heading {
    font-size: 1.2rem;
    letter-spacing:0.2;
    color: #ffffff;
  }
  .home-page .current-price {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--black80);
    line-height: 1.2;
}

  .title-group .heading {
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 700
  }

  .home-banner .owl-dots {
    bottom: 3%
  }

  .title-group .subtext {
font-size: 1.6rem;
  line-height: 1.6;
  }

  .home-banner .mediascreen {
    min-height: 52rem !important;
    max-height: 52rem !important
  }

  .review-count,
  .home-banner .testimonial-sec {
    display: none !important
  }

.btn:not(.owl-dot):not(.owl-dot span) {
    padding-right: 6rem !important;
    font-size: 1.2rem !important;
    font-weight: 500;
    line-height: 1.2 !important;
    padding: 1.5rem 5rem 1.5rem 1rem !important;
  }

  .home-page .home-banner .watermark {
    font-size: 7rem;
    top: 36%
  }

  .demo-form-submit {
    margin-top: 3rem
  }

  .headline {
    font-size: 2.5rem;
    max-width: 100%;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;
    color: #3388bd
  }
  

  .echosystem-sec {
    min-height: 30rem;
    padding: 1.5rem;
    margin: 0rem auto;
    border-radius: 1.5rem
  }

  .video-sec,
  .productList-sec,
  .demo-container,
  .echosystem-sec,
  .client-testimonial,
  .homesafe-sec,
  .smartLock-sec {
    margin-top: 1rem;
    margin-bottom: 0 !important;
  }

  .echosystem-sec .title-group {
    position: absolute;
    top: 20%;
    left: 6%;
    z-index: 2;
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start
  }

  .inner-wrap.slidingsec .title-group {
    padding: 0 1rem !important;
    position: relative;
    top: -1rem
  }

  .echodec {
    padding: 4rem 0 0 0m;
  }
  .title-group.echodec {
    text-align: center;
}
.slidingsec.title-group.center {
    text-align: center;
}

  .home-banner .echodec .title-group .heading {
    font-size: 2.2rem !important;
    line-height: 1.2;
    font-weight: 700
  }

  .slidingsec .highlight,
  .echodec .highlight {
    background: linear-gradient(to right, #ffc107, #f5a56f, #ceb055);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 600;
    font-size: 2rem;
    line-height: 1.2;
    display: block
  }
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s
}

@-webkit-keyframes bounce {

  0%,
  20%,
  50%,
  80%,
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px)
  }

  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px)
  }
}

@keyframes bounce {

  0%,
  20%,
  50%,
  80%,
  to {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  40% {
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px)
  }

  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px)
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce
}

@-webkit-keyframes flash {

  0%,
  50%,
  to {
    opacity: 1
  }

  25%,
  75% {
    opacity: 0
  }
}

@keyframes flash {

  0%,
  50%,
  to {
    opacity: 1
  }

  25%,
  75% {
    opacity: 0
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
  }

  50% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1)
  }

  to {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse
}

@-webkit-keyframes shake {

  0%,
  to {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translate(-10px)
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translate(10px)
  }
}

@keyframes shake {

  0%,
  to {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translate(-10px)
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translate(10px)
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg)
  }

  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg)
  }

  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg)
  }

  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg)
  }

  to {
    -webkit-transform: rotate(0deg);
    transform: rotate(0)
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg)
  }

  40% {
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg)
  }

  60% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg)
  }

  80% {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg)
  }

  to {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0)
  }
}

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  10%,
  20% {
    -webkit-transform: scale(.9) rotate(-3deg);
    transform: scale(.9) rotate(-3deg)
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg)
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg)
  }

  to {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0)
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
  }

  10%,
  20% {
    -webkit-transform: scale(.9) rotate(-3deg);
    -ms-transform: scale(.9) rotate(-3deg);
    transform: scale(.9) rotate(-3deg)
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg)
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg)
  }

  to {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0)
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada
}

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translate(0)
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translate(-25%) rotate(-5deg)
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translate(20%) rotate(3deg)
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translate(-15%) rotate(-3deg)
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translate(10%) rotate(2deg)
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translate(-5%) rotate(-1deg)
  }

  to {
    -webkit-transform: translateX(0%);
    transform: translate(0)
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translate(0)
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    transform: translate(-25%) rotate(-5deg)
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    transform: translate(20%) rotate(3deg)
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    transform: translate(-15%) rotate(-3deg)
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    transform: translate(10%) rotate(2deg)
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    transform: translate(-5%) rotate(-1deg)
  }

  to {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translate(0)
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3)
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
  }

  70% {
    -webkit-transform: scale(.9);
    transform: scale(.9)
  }

  to {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3)
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
  }

  70% {
    -webkit-transform: scale(.9);
    -ms-transform: scale(.9);
    transform: scale(.9)
  }

  to {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn
}

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px)
  }

  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px)
  }

  80% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px)
  }

  to {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown
}

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translate(-2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translate(30px)
  }

  80% {
    -webkit-transform: translateX(-10px);
    transform: translate(-10px)
  }

  to {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translate(-2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -ms-transform: translateX(30px);
    transform: translate(30px)
  }

  80% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translate(-10px)
  }

  to {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft
}

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translate(2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translate(-30px)
  }

  80% {
    -webkit-transform: translateX(10px);
    transform: translate(10px)
  }

  to {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translate(2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translate(-30px)
  }

  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translate(10px)
  }

  to {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight
}

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px)
  }

  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px)
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px)
  }

  80% {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px)
  }

  to {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp
}

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  25% {
    -webkit-transform: scale(.95);
    transform: scale(.95)
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3)
  }
}

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
  }

  25% {
    -webkit-transform: scale(.95);
    -ms-transform: scale(.95);
    transform: scale(.95)
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1)
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3)
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut
}

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px)
  }
}

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px)
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown
}

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translate(20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translate(-2000px)
  }
}

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translate(20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translate(-2000px)
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft
}

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translate(-20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translate(2000px)
  }
}

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translate(-20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translate(2000px)
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight
}

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }
}

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translate(-20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translate(-20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translate(-2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translate(-2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translate(20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translate(20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translate(2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translate(2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px)
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px)
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px)
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px)
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translate(-20px)
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translate(-20px)
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translate(-2000px)
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translate(-2000px)
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translate(20px)
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translate(20px)
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translate(2000px)
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translate(2000px)
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px)
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
  }

  to {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
  }

  to {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg)
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg)
  }

  to {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0);
    opacity: 1
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg)
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg)
  }

  to {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0);
    opacity: 1
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg)
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg)
  }

  to {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0);
    opacity: 1
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg)
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg)
  }

  to {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0);
    opacity: 1
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0);
    opacity: 1
  }

  to {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0
  }
}

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0);
    opacity: 1
  }

  to {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0);
    opacity: 1
  }

  to {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0
  }
}

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0);
    opacity: 1
  }

  to {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translate(100%) skew(-30deg);
    opacity: 0
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translate(-20%) skew(30deg);
    opacity: 1
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translate(0) skew(-15deg);
    opacity: 1
  }

  to {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translate(0) skew(0);
    opacity: 1
  }
}

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translate(100%) skew(-30deg);
    opacity: 0
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    transform: translate(-20%) skew(30deg);
    opacity: 1
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    transform: translate(0) skew(-15deg);
    opacity: 1
  }

  to {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translate(0) skew(0);
    opacity: 1
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out
}

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translate(0) skew(0);
    opacity: 1
  }

  to {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translate(100%) skew(-30deg);
    opacity: 0
  }
}

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translate(0) skew(0);
    opacity: 1
  }

  to {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translate(100%) skew(-30deg);
    opacity: 0
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }

  to {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0
  }
}

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }
}

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }
}

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }
}

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }
}

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1
  }

  to {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight
}

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }

  to {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown
}

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translate(-2000px)
  }

  to {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translate(-2000px)
  }

  to {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft
}

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translate(2000px)
  }

  to {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translate(2000px)
  }

  to {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight
}

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translate(-2000px)
  }
}

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translate(-2000px)
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft
}

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translate(2000px)
  }
}

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translate(2000px)
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight
}

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }
}

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px)
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  20%,
  60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  to {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0
  }
}

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  20%,
  60% {
    -webkit-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  40% {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
  }

  to {
    -webkit-transform: translateY(700px);
    -ms-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge
}

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translate(-100%) rotate(-120deg)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translate(0) rotate(0)
  }
}

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translate(-100%) rotate(-120deg)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translate(0) rotate(0)
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn
}

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translate(0) rotate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translate(100%) rotate(120deg)
  }
}

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translate(0) rotate(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    -ms-transform: translateX(100%) rotate(120deg);
    transform: translate(100%) rotate(120deg)
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut
}

.legal-page {
  min-height: 100vh;
  font-family: Poppins, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif
}

.legal-banner-section {
  background: var(--blue);
  padding: 4rem 0 3rem;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden
}

.legal-banner-section:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
  z-index: 1
}

.legal-banner-content {
  position: relative;
  z-index: 1;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2rem
}

.legal-banner-content h1 {
  font-size: 4.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  line-height: 1.2;
  color: #fff
}

.legal-banner-subtitle {
  font-size: 1.8rem;
  opacity: .9;
  max-width: 60rem;
  margin: 0 auto
}

.legal-breadcrumb {
  margin-bottom: 1rem
}

.legal-breadcrumb a {
  color: #fff;
  text-decoration: underline;
  opacity: .9;
  font-size: 1.6rem;
  line-height: 1.5
}

.legal-breadcrumb a:hover {
  opacity: 1
}

.breadcrumb-separator {
  color: #fff;
  margin: 0 .8rem;
  opacity: .8;
  font-size: 1.6rem;
  line-height: 1.5
}

.breadcrumb-current {
  color: #fff;
  font-weight: 500;
  opacity: 1;
  font-size: 1.6rem;
  line-height: 1.5
}

.legal-content-section {
  padding: 6rem 0;
  background: var(--white)
}

.legal-container {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0 2rem
}

.last-updated {
  font-size: 1.4rem;
  color: #666;
  margin-bottom: 3rem;
  font-weight: 500
}

.legal-text {
  line-height: 1.8;
  color: var(--black80)
}

.legal-text p {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  text-align: justify
}

.legal-text h3 {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--black80);
  margin: 3rem 0 1.5rem;
  text-transform: uppercase
}

.legal-text ul {
  margin: 2rem 0;
  padding-left: 3rem;
  list-style-type: disc
}

.legal-text li {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  line-height: 1.6;
  display: list-item;
  text-align: -webkit-match-parent;
  unicode-bidi: isolate
}

.text-start {
  text-align: left !important
}

.legal-text strong {
  font-weight: 700;
  color: var(--black80)
}

@media (max-width: 991px) {
  .legal-banner-content h1 {
    font-size: 3.5rem
  }

  .legal-banner-section {
    padding: 6rem 0 4rem
  }

  .legal-content-section {
    padding: 4rem 0
  }
}

@media (max-width: 780px) {
  .legal-banner-content h1 {
    font-size: 3rem
  }

  .legal-banner-content p {
    font-size: 1.4rem
  }

  .legal-text p {
    font-size: 1.5rem
  }

  .legal-text h3 {
    font-size: 2rem
  }

  .legal-container {
    padding: 0 1.5rem
  }

  .breadcrumb-separator {
    margin: 0 .5rem
  }
}

@media (max-width: 480px) {
  .legal-banner-content h1 {
    font-size: 2.5rem
  }

  .legal-text p {
    font-size: 1.4rem
  }

  .legal-text h3 {
    font-size: 1.8rem
  }
}

.contact-page {
  font-family: Poppins, sans-serif
}

.contact-banner-section {
  background: linear-gradient(135deg, #4a90e2, #357abd);
  padding: 6rem 0 4rem;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden
}

.contact-banner-content {
  position: relative;
  z-index: 2;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2rem
}

.contact-banner-content h1 {
  font-size: 4.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  line-height: 1.2;
  color: #fff
}

.contact-hero-section {
  background: var(--blue);
  padding: 4rem 0 3rem;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden
}

.contact-hero-content {
  position: relative;
  z-index: 2;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2rem
}

.contact-hero-content h1 {
  font-size: 4.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  line-height: 1.2
}

.contact-hero-content p {
  font-size: 1.8rem;
  opacity: .9;
  max-width: 60rem;
  margin: 0 auto
}

.contact-info-section {
  padding: 8rem 0;
  background: #f8f9fa
}

.contact-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  gap: 3rem;
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem
}

.contact-card {
  background: #fff;
  padding: 4rem 3rem;
  border-radius: 1.5rem;
  box-shadow: 0 1rem 3rem #0000001a;
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease
}

.contact-card:hover {
  transform: translateY(-.5rem);
  box-shadow: 0 2rem 4rem #00000026
}

.contact-card-icon {
  width: 5rem;
  height: 5rem;
  background: #3388bd;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2% auto;
  font-size: 2.5rem;
  color: #fff
}

.contact-card h3 {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  color: #333
}

.contact-card p {
  font-size: 1.6rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 1rem
}

.contact-card a {
  color: #666;
  font-size: 1.6rem;
  line-height: 1.6;
  text-decoration: none;
  font-weight: 500
}

.contact-card a:hover {
  text-decoration: underline
}

.contact-form-section {
  padding: 8rem 0;
  background: #fff
}

.contact-form-wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2rem
}

.contact-form-header {
  text-align: center;
  margin-bottom: 5rem
}

.contact-form-header h2 {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  color: #333
}

.contact-form-header p {
  font-size: 1.8rem;
  color: #666;
  max-width: 60rem;
  margin: 0 auto
}

.contact-form {
  background: #f8f9fa;
  padding: 3rem;
  border-radius: 2rem;
  box-shadow: 0 1rem 3rem #0000001a
}

.form-group {
  margin-bottom: 3rem
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.form-group label {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #333
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 1.3rem;
  border: 2px solid #e5e5e5;
  border-radius: .8rem;
  font-size: 1.6rem;
  font-family: inherit;
  transition: border-color .3s ease
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: #4a90e2
}

.form-group textarea {
  min-height: 15rem;
  resize: vertical
}

.submit-btn {
  background: linear-gradient(135deg, #4a90e2, #357abd);
  color: #fff;
  padding: 1.5rem 4rem;
  border: none;
  border-radius: .8rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform .3s ease, box-shadow .3s ease
}

.submit-btn:hover {
  transform: translateY(-.2rem);
  box-shadow: 0 1rem 2rem #4a90e24d
}

@media (max-width: 991px) {

  .contact-hero-content h1,
  .contact-banner-content h1 {
    font-size: 3.5rem
  }

  .contact-form {
    padding: 3rem
  }

  .form-row {
    grid-template-columns: 1fr
  }
}

@media (max-width: 767px) {

  .contact-hero-content h1,
  .contact-banner-content h1 {
    font-size: 3rem
  }
.banner-background {
    position: relative;
    width: 100%;
    height: 300px;
    background: var(--blue);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: cover;
}
  .contact-hero-content p {
    font-size: 1.6rem
  }

  .contact-form-header h2 {
    font-size: 2.8rem
  }

  .contact-form {
    padding: 2rem
  }

  .contact-cards {
    grid-template-columns: 1fr;
    padding: 0 1.5rem
  }
}

@media (max-width: 480px) {

  .contact-hero-content h1,
  .contact-banner-content h1 {
    font-size: 2.5rem
  }

  .contact-form-header h2 {
    font-size: 2.4rem
  }

  .contact-card {
    padding: 3rem 2rem
  }
}

.about-us-page {
  width: 100%;
  overflow-x: hidden
}

.about-hero-section {
  background: var(--blue);
  padding: 4rem 0 3rem;
  text-align: center;
  color: #2c3e50
}

.about-hero-container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem
}

.about-hero-section .breadcrumb-container {
  margin-bottom: 2rem
}

.about-hero-title {
  font-size: 4.5rem;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--light-blue)
}

.about-hero-subtitle {
  font-size: 2rem;
  font-weight: 300;
  margin: 0;
  opacity: .9
}

.about-container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem
}

.about-section-title {
  font-size: 4.2rem;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 3rem;
  text-transform: capitalize;
  letter-spacing: 1px;
  text-align: left;
  position: relative;
  padding-bottom: 1.5rem
}

.about-section-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 25rem;
  height: 3px;
  background: #1e6e94
}

.about-choose-title:after {
  left: 50%;
  transform: translate(-50%)
}

.about-section-title.text-center:after {
  left: 50%;
  transform: translate(-50%)
}

.about-story-section {
  padding: 8rem 0;
  background: #fff
}

.about-story-content {
  display: flex;
  align-items: flex-start;
  gap: 6rem
}

.about-story-text {
  flex: 1
}

.about-story-description {
  font-size: 1.6rem;
  line-height: 2;
  color: #242424;
  margin: 0 0 2rem;
  text-align: center
}

.about-story-image {
  flex: 0 0 40rem;
  display: flex;
  justify-content: center;
  align-items: center
}

.about-story-image img {
  max-width: 100%;
  height: auto;
  object-fit: contain
}

.about-cause-section {
  padding: 8rem 0;
  background: #dcf6ff
}

.about-cause-content {
  display: flex;
  align-items: flex-start;
  gap: 6rem
}

.about-cause-image {
  flex: 0 0 46rem;
  display: flex;
  justify-content: center;
  align-items: center
}

.about-cause-image img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 1rem
}

.about-cause-text {
  flex: 1
}

.text-center {
  text-align: center
}

.about-cause-description {
  font-size: 1.6rem;
  line-height: 2;
  color: #242424;
  margin: 0 0 2rem;
  text-align: justify
}

.about-vision-section {
  padding: 4rem 0;
  background: #f2f2f2
}

.about-vision-content {
  display: flex;
  align-items: flex-start;
  gap: 10rem
}

.about-vision-text {
  flex: 1
}

.about-vision-points {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 2rem
}

.about-vision-point {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 2rem;
  background: #3badd8;
  border-radius: 1rem;
  padding: 2rem 3rem
}

.about-vision-content .alter-color {
  background: #1e6e94
}

.vision-point-number {
  font-size: 2rem;
  font-weight: 700;
  color: #2d7cbf;
  min-width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0
}

.about-vision-point p {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 400;
  color: #fff;
  margin: 0
}

.about-vision-image {
  flex: 0 0 46rem;
  display: flex;
  justify-content: center;
  align-items: center
}

.about-vision-image img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 2rem;
  height: 100vh
}

.about-mission-section {
  padding: 8rem 0;
  background: #1e6e94;
  color: #fff
}

.about-mission-description ul {
  list-style: disc;
  padding-left: 2rem;
  margin: 0
}

.about-mission-description li {
  font-size: 1.6rem;
  line-height: 2;
  color: #fff;
  margin-bottom: 1rem
}

.about-mission-content {
  display: flex;
  align-items: center;
  gap: 6rem
}

.about-mission-section .about-section-title {
  color: #fff
}

.about-mission-section .about-section-title:after {
  background: #fff
}

.about-mission-image {
  flex: 0 0 45%;
  display: flex;
  justify-content: center;
  align-items: center
}

.about-mission-image img {
  max-width: 100%;
  height: auto;
  object-fit: contain
}

.about-mission-text {
  flex: 1
}

.about-mission-description {
  font-size: 1.4rem;
  line-height: 2.4rem;
  color: #fff;
  margin: 0 0 2rem;
  text-align: justify
}

.about-mission-signature {
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  margin: 3rem 0 0;
  font-style: italic
}

.about-core-values-section {
  padding: 8rem 0;
  background: #dcf6ff
}

.about-core-values-content {
  display: flex;
  align-items: flex-start;
  gap: 6rem
}

.about-core-values-text {
  flex: 1
}

.core-values-list {
  list-style: none;
  padding: 0;
  margin: 0
}

.core-values-list li {
  font-size: 1.6rem;
  line-height: 2;
  color: #242424;
  margin-bottom: 1.5rem;
  position: relative;
  padding-left: 2rem
}

.core-values-list li:before {
  content: "•";
  color: #2d7cbf;
  font-weight: 700;
  position: absolute;
  left: 0;
  font-size: 1.8rem
}

.about-core-values-image {
  flex: 0 0 45%;
  display: flex;
  justify-content: center;
  align-items: center
}

.about-core-values-image img {
  max-width: 100%;
  height: auto;
  object-fit: contain
}

.about-choose-section {
  padding: 4rem 0;
  background: #fff
}

.about-choose-title {
  text-align: center;
  margin-bottom: 2rem
}

.about-choose-subtitle {
  font-size: 1.6rem;
  line-height: 2;
  color: #666;
  text-align: center;
  max-width: 80rem;
  margin: 0 auto 6rem
}

.about-choose-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  gap: 3rem;
  margin: 3rem 0
}

.about-choose-card {
  background: #dff2ff;
  padding: 3rem 2.5rem;
  border-radius: 1.5rem;
  text-align: center;
  border: 2px solid transparent;
  transition: all .3s ease
}

.about-choose-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px #2d7cbf26;
  border-color: #2d7cbf
}

.choose-card-icon {
  width: 6rem;
  height: 6rem;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 20px #0000001a
}

.choose-card-icon img,
.choose-card-icon .feature-icon {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  font-size: 3rem;
  color: #23719b;
  margin: 0 auto
}

.choose-card-title {
  font-size: 2rem;
  font-weight: 600;
  color: #2c3e50;
  margin: 0 0 1.5rem;
  text-transform: uppercase
}

.choose-card-description {
  font-size: 1.6rem;
  line-height: 2;
  color: #666;
  margin: 0
}

.about-commitment-section {
  padding: 4rem 0;
  background: #f8f9fa
}

.commitment-content {
  max-width: 80rem;
  margin: 0 auto;
  text-align: center
}

.commitment-description {
  font-size: 1.6rem;
  line-height: 2;
  color: #242424;
  margin-bottom: 3rem;
  text-align: justify
}

.commitment-footer {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #2d7cbf;
  text-align: center;
  font-weight: 500
}

@media (max-width: 1199px) {
  .about-hero-title {
    font-size: 4.5rem
  }

  .about-story-content,
  .about-cause-content,
  .about-vision-content,
  .about-mission-content {
    gap: 4rem
  }

  .about-story-image,
  .about-cause-image,
  .about-vision-image,
  .about-mission-image {
    flex: 0 0 30rem
  }
}
@media only screen and (max-width: 1680px) {
    .demo-right-section {
    padding: 6rem 5rem 7rem 0;
}
}
@media (min-width:320px) and (max-width: 719px) {

  .about-story-content,
  .about-cause-content,
  .about-vision-content,
  .about-mission-content,
  .about-core-values-content {
    flex-direction: column;
    gap: 4rem;
    text-align: left
  }
  .profile-action-btn,.dashboard-edit-btn, .dashboard-save-btn, .dashboard-cancel-btn, .dashboard-shop-btn, .dashboard-demo-btn, .dashboard-submit-btn{
      font-size: 1.3rem !important;
  }

  .about-cause-content,
  .about-mission-content {
    flex-direction: column-reverse
  }
  .info-group label, .form-group label {
    font-size: 1.3rem !important;
    
}
.dashboard-edit-btn, .dashboard-save-btn, .dashboard-cancel-btn, .dashboard-shop-btn, .dashboard-demo-btn, .dashboard-submit-btn{
        font-size: 1.3rem !important;
}
.form-group label, .form-group input, .form-group textarea, .form-group select{
        font-size: 1.3rem !important;
}
.info-value {
    font-size: 1.2rem !important;
}

  footer .contact-sec {
    display: inline-flex;
    gap: 1.7rem;
    margin-bottom: 0;
    flex-direction: column
  }

  .footer-col.about-col {
    grid-column: 1 / -1
  }

  .footer-top {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-direction: column
  }

  footer .heading-sec h3 {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 1.8rem;
    font-weight: 500
  }

  footer .contact-sec a {
    font-size: 1.6rem;
    line-height: 1.5
  }

  footer .heading-sec {
    max-width: 100%
  }

  .footer-col h4 {
    margin-bottom: 1rem;
    color: #fff
  }
}

@media (min-width:740px) and (max-width: 991px) {
  .about-hero-title {
    font-size: 4rem
  }

  .about-section-title {
    font-size: 2.5rem
  }
.why-choose-us-card {
    flex: 0 0 44%;
}
.card-heading {
        font-size: 1.8rem;
        line-height: 1.2;
    }
.card-label {
        font-size: 2.4rem;
        font-weight: 600;
    }
    .card-icon-image {
    width: 5rem;
    height: 5rem;
    object-fit: contain;
    opacity: 1;
}
    .right-header {
        margin-left: auto;
    }
  .about-story-content,
  .about-cause-content,
  .about-vision-content,
  .about-mission-content,
  .about-core-values-content {
    flex-direction: row;
    gap: 4rem;
    text-align: left
  }

  .about-story-image,
  .about-cause-image,
  .about-vision-image,
  .about-mission-image,
  .about-core-values-image {
    flex: none;
    max-width: 40rem;
    margin: 0 auto
  }

  .about-cause-content,
  .about-mission-content {
    flex-direction: row
  }

  .about-choose-grid {
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 2.5rem
  }

  .cart-page .cart-inner-container {
    max-width: 100%
  }
}

@media (max-width: 767px) {
  .about-hero-section {
    padding: 6rem 0 4rem
  }

  .about-hero-title {
    font-size: 3rem
  }

  .about-hero-subtitle {
    font-size: 1.6rem
  }

  .about-story-section,
  .about-cause-section,
  .about-vision-section,
  .about-mission-section,
  .about-choose-section {
    padding: 6rem 0
  }

  .about-section-title {
    font-size: 2.2rem;
    margin-bottom: 2rem
  }

  .about-story-description,
  .about-cause-description,
  .about-mission-description {
    font-size: 1.5rem;
    text-align: left
  }

  .about-vision-point {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
    padding: 2rem 1.5rem
  }

  .vision-point-number {
    align-self: center
  }

  .about-vision-point p {
    font-size: 1.4rem
  }

  .about-choose-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .about-choose-card {
    padding: 2.5rem 2rem
  }

  .choose-card-title {
    font-size: 1.8rem
  }

  .choose-card-description {
    font-size: 1.3rem
  }
}

@media (max-width: 480px) {
  .about-container {
    padding: 0 1.5rem
  }

  .about-hero-title {
    font-size: 2.5rem
  }

  .about-hero-subtitle {
    font-size: 1.4rem
  }

  .about-section-title {
    font-size: 2rem
  }

  .about-story-description,
  .about-cause-description,
  .about-mission-description,
  .about-choose-subtitle,
  .about-choose-footer {
    font-size: 1.4rem
  }

  .about-vision-points {
    gap: 2rem
  }

  .about-vision-point {
    padding: 1.5rem
  }

  .choose-card-icon {
    width: 6rem;
    height: 6rem
  }

  .choose-card-icon img {
    width: 3rem;
    height: 3rem
  }
}

.product-details-body {
  font-family: Poppins, sans-serif;
  background: #ecf8ff
}

.product-details-page {
  background: #ecf8ff
}

.product-hero-modern {
  background: #ecf8ff;
  padding: 4rem 0;
  margin-bottom: 0;
  position: relative;
  max-width: 100%
}

.product-hero-container {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  max-width: 92.3%;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative
}

.trust-section {
  width: 80%
}

.product-hero-images {
  flex: 0 0 50%;
  display: flex;
  gap: 2rem;
  align-items: flex-start
}

.product-thumbnails-vertical {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  flex-shrink: 0;
  width: 8rem;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  scrollbar-width: thin;
  scrollbar-color: #c1c1c1 #f1f1f1
}

.product-thumbnail {
  width: 6.2rem;
  height: 6.2rem;
  border: 1px solid #e5e5e5;
  border-radius: .6rem;
  overflow: hidden;
  cursor: pointer;
  transition: all .3s ease;
  background: #cce9ffcc;
  padding: 0rem;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation
}

.product-thumbnail.active {
  border-color: #a3a3a3
}

.product-thumbnail:hover {
  border-color: #4a90e2
}

.product-thumbnail:focus {
  outline: 2px solid #4a90e2;
  outline-offset: 2px
}

.product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.video-play-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3rem;
  height: 3rem;
  background: #000000b3;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2
}

.video-play-indicator svg {
  width: 1rem;
  height: 1rem;
  fill: #fff;
  margin-left: 2px
}

.product-main-image {
  flex: 1;
  background: linear-gradient(99deg, #a5dfff, #fff, #c4eaff);
  border-radius: 1rem;
  padding: 0rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border: 1px solid #e5e5e5
}

.product-main-image img {
  max-width: 100%;
  max-height: 44rem;
  object-fit: contain;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none
}

.product-main-image #main-image {
  transform: translate(0);
  transition: opacity .5s ease, transform .5s ease
}

.product-main-image iframe {
  transition: opacity .3s ease-in-out
}

#main-image.fade-out {
  opacity: 0;
  transform: translate(-50px)
}

#main-image.fade-in {
  opacity: 1;
  transform: translate(0)
}

.product-main-image img,
.product-main-image iframe {
  transition: opacity .5s ease-in-out, transform .5s ease
}

.product-main-image img:hover,
.product-main-image iframe:hover {
  transform: scale(1)
}

.product-main-image img {
  max-height: 100vh !important
}

@supports (-webkit-touch-callout: none) {
  .product-main-image {
    min-height: calc(32rem - env(safe-area-inset-bottom))
  }
}

.product-hero-info {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0
}

.product-hero-title {
  font-size: 3rem;
  font-weight: 550;
  color: #2c3e50;
  margin-bottom: 1rem;
  line-height: 1.2
}

.product-hero-price {
  margin-bottom: 2.4rem;
  display: flex;
  align-items: baseline;
  gap: 1.6rem
}

.hero-current-price {
  font-size: 3rem;
  font-weight: 550;
  color: #4a90e2;
  line-height: 1
}

.hero-original-price {
  font-size: 1.8rem;
  color: #999;
  text-decoration: line-through;
  font-weight: 400
}

.hero-discount {
  color: #4a90e4;
  padding: .4rem 1.2rem;
  border-radius: 2rem;
  font-size: 1.4rem;
  font-weight: 600;
  margin-left: .8rem
}

.product-hero-desc {
  font-size: 1.4rem;
  line-height: 1.4;
  color: #666;
  margin-bottom: 1.2rem;
  font-weight: 400
}

.mrp-section {
  margin-bottom: 2rem
}

.mrp-label {
  font-size: 1.4rem;
  color: #666;
  margin-bottom: .5rem
}

.mrp-price {
  font-size: 1.8rem;
  font-weight: 500;
  color: #000
}

.quantity-selector {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  margin-bottom: 1rem;
  width: fit-content;
  border: 1px solid #e5e5e5;
  border-radius: .5rem;
  overflow: hidden
}

.qty-btn {
  width: 4.5rem;
  height: 4.5rem;
  border: none;
  font-size: 2.4rem;
  font-weight: 500;
  color: #2c2929;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ebeaea;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.qty-btn:hover {
  background: #ebeaea
}

.qty-btn:focus {
  outline: 2px solid #4a90e2;
  outline-offset: 2px
}

.qty-input {
  width: 6.5rem;
  height: 4.5rem;
  border: none;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  color: #181717
}

.product-hero-actions {
  display: flex;
  gap: 1.2rem;
  margin-bottom: 1rem;
  width: 70%
}

.hero-btn {
  padding: 1.2rem 2rem;
  border: none;
  border-radius: .6rem;
  font-size: 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 4.8rem;
  text-transform: none;
  letter-spacing: normal;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.hero-btn:focus {
  outline: 2px solid #4a90e2;
  outline-offset: 2px
}

.hero-btn-secondary {
  background: #2c6284;
  color: #fff
}

.hero-btn-primary {
  background: #20c997;
  color: #fff
}

.hero-btn:hover {
  transform: translateY(-1px)
}

.pincode-section {
  margin-bottom: 1.2rem;
  width: 70%
}

.pincode-input-container {
  display: flex;
  border: 1px solid #e5e5e5;
  border-radius: .8rem;
  overflow: hidden;
  background: #fff
}

.pincode-input {
  flex: 1;
  padding: 1.4rem 1.6rem;
  border: none;
  font-size: 1.4rem;
  color: #666;
  background: transparent
}

.pincode-input::placeholder {
  color: #999
}

.pincode-btn {
  background: #363636;
  color: #fff;
  border: none;
  padding: 1.4rem 2.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.pincode-btn:hover {
  background: #2d6284
}

.pincode-btn:focus {
  outline: 2px solid #4a90e2;
  outline-offset: 2px
}

.trust-section {
  background: linear-gradient(135deg, #d1eefe, #d1eefe);
  border-radius: 1.2rem;
  padding: 1.5rem;
  color: #294a6b;
  margin-top: 1.5rem;
  border: 1px solid #abb6bd
}

.trust-title {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 1.2rem;
  text-align: left
}

.trust-badges {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8rem;
  margin-bottom: 1.8rem
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  text-align: left
}

.trust-icon {
  width: 3.8rem;
  height: 3.8rem;
  background: #a39c9c33;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.trust-icon svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: #41576c
}

.trust-content {
  display: flex;
  flex-direction: column
}

.trust-label {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: .4rem
}

.trust-sublabel {
  font-size: 1.3rem;
  opacity: .8;
  line-height: 1.2
}

.trust-badges-bottom {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8rem
}

.trust-badge-bottom {
  display: flex;
  align-items: center;
  gap: 1.2rem
}

.trust-icon-small {
  width: 3.8rem;
  height: 3.8rem;
  background: #a39c9c33;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.trust-icon-small svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: #294a6b
}

.trust-text-small {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.2
}

.know-more-section {
  background: #ecf8ff;
  padding: 3rem 0;
  margin-bottom: 4rem;
  width: 100%
}

.know-more-title {
  text-align: center;
  font-size: 3.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 5rem
}

.know-more-image-container {
  max-width: 92.3%;
  margin: 0 auto;
  padding: 0 2rem;
  text-align: center
}

.know-more-featured-image {
  width: 100%;
  height: auto;
  border-radius: 2rem;
  box-shadow: 0 15px 50px #0000001a;
  transition: all .3s ease
}

.know-more-featured-image:hover {
  transform: translateY(-5px);
  box-shadow: 0 25px 70px #00000026
}

.specifications-modern {
  background: #ecf8ff;
  padding: 0rem 0;
  margin-bottom: 5rem
}

.specs-table {
  background: #fff;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 10px 40px #0000001a
}

.specs-header {
  background: #3388bd;
  color: #fff;
  padding: 2rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700
}

.specs-label {
  flex: 1;
  padding: 2rem;
  font-weight: 600;
  color: #2c3e50;
  background: #f8f9fa;
  border-right: 1px solid #e9ecef
}

.specs-value {
  flex: 2;
  padding: 2rem;
  color: #555
}

.comparison-section {
  background: #ecf8ff;
  padding: 0rem 0;
  margin-bottom: 4rem
}

.comparison-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem
}

.comparison-title {
  text-align: center;
  font-size: 3.5rem;
  font-weight: 700;
  color: #2c3e50
}

.comparison-subtitle {
  text-align: center;
  font-size: 2rem;
  color: #2c3e50;
  margin-bottom: 4rem
}

.comparison-table {
  background: #e7f8ff;
  overflow: hidden;
  box-shadow: 0 10px 40px #0000001a;
  overflow-x: auto;
  width: 100%
}

.comparison-header {
  background: #dbf2ff;
  color: #fff;
  display: flex;
  align-items: stretch;
  padding: 0;
  min-height: 18rem
}

.comparison-header-cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  text-align: center;
  font-weight: 600;
  position: relative
}

.comparison-header-cell.first {
  background: linear-gradient(135deg, #d1eefe, #d1eefe);
  text-align: left;
  font-size: 2.4rem;
  padding-left: 2rem;
  color: #11345a
}

.comparison-header-cell:not(.first) {
  border-left: 1px solid #fff
}

.product-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: space-between;
  min-height: 14rem;
  width: 15rem
}

.product-image-small {
  width: 12rem;
  height: 12rem;
  object-fit: contain
}

.product-name {
  font-size: 1.5rem;
  font-weight: 400;
  color: #004d8c;
  margin-bottom: .5rem
}

.product-colors {
  gap: .6rem;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: start;
  color: #fffdfd;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 18px;
  letter-spacing: .28px
}

.color-option {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: .2rem
}

.color-dot {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 2px 4px #0003;
  flex-shrink: 0
}

.color-label {
  font-size: 13px;
  color: #1e3348;
  font-weight: 400;
  line-height: 17px;
  white-space: nowrap
}

.color-dot.copper {
  background: #167ac6
}

.color-dot.black {
  background: #333
}

.buy-now-btn {
  background: #317aaf;
  color: #fff;
  padding: .8rem 1.5rem;
  border: none;
  border-radius: .6rem;
  font-size: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  margin-top: auto
}

.buy-now-btn:hover {
  background: #3a77a3;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #0000004d
}

.comparison-row {
  display: flex;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  transition: all .3s ease;
  background: #e9f8ff
}

.comparison-row:hover {
  background: #ffffff1a
}

.comparison-row:last-child {
  border-bottom: none
}

.comparison-row:nth-child(2n) {
  background: #e2f4ff
}

.comparison-row:nth-child(2n):hover {
  background: #ffffff26
}

.comparison-cell {
  flex: 1;
  padding: 2.2rem 1rem;
  text-align: center;
  font-size: 1.4rem;
  color: #001336;
  display: flex;
  align-items: center;
  justify-content: center
}

.comparison-cell.first {
  background: #dff1fd;
  text-align: left;
  font-weight: 600;
  color: #0065b2;
  border-right: 1px solid rgba(255, 255, 255, .2);
  justify-content: flex-start;
  padding-left: 2rem
}

.check-mark {
  width: 1.4rem;
  height: 1.4rem;
  background-image: url(../images/corelene-greencheck.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto
}

.cross-mark {
  width: 1.4rem;
  height: 1.4rem;
  background-image: url(../images/corelene-cross.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto
}

.video-testimonials {
  background: #ecf8ff;
  padding: 3rem 0;
  margin-bottom: 4rem
}

.testimonials-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem
}

.testimonials-title {
  text-align: center;
  font-size: 3.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 4rem
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

.testimonial-video {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  background: #f8f9fa;
  height: 25rem;
  cursor: pointer;
  transition: all .3s ease
}

.testimonial-video:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px #0003
}

.testimonial-video img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.video-play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #0006;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: none
}

.play-button-large {
  width: 6rem;
  height: 4rem;
  background: #76b7db;
  border-radius: 15%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px #0000004d
}

.play-button-large svg {
  width: 2.5rem;
  height: 2.5rem;
  fill: #fff;
  margin-left: .5rem
}

.testimonial-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, #000c);
  padding: 3rem 2rem 2rem;
  color: #fff
}

.testimonial-name {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: .5rem
}

.testimonial-title {
  font-size: 1.4rem;
  opacity: .9
}

@media (max-width: 1200px) {
  .comparison-container {
    overflow-x: auto;
    padding: 0 2rem
  }

  .comparison-table {
    min-width: 120rem;
    width: auto
  }

  .comparison-header-cell,
  .comparison-cell {
    min-width: 12rem;
    flex-shrink: 0
  }
}

@media (max-width: 991px) {
  .product-hero-modern {
    padding: 2rem 0
  }

  .product-hero-actions {
    width: 80%
  }

  .product-hero-info {
    align-items: center
  }

  .product-hero-container {
    flex-direction: column;
    gap: 3rem;
    padding: 0 1.5rem
  }

  .product-hero-images {
    flex-direction: column-reverse;
    width: 100%;
    max-width: 57rem;
    margin: 0 auto
  }

  .product-thumbnails-vertical {
    flex-direction: row;
    justify-content: center;
    gap: .8rem;
    overflow-x: scroll;
    padding: 0 1rem;
    width: 100%
  }

  .product-hero-container {
    padding: 0 !important
  }

  .product-thumbnail {
    width: 5.5rem;
    height: 5.5rem;
    flex-shrink: 0
  }

  .product-main-image {
    min-height: 35rem;
    padding: 2rem;
    width: 100%
  }

  .product-hero-info {
    text-align: center;
    max-width: 100%
  }

  .product-hero-title,
  .hero-current-price {
    font-size: 2.8rem
  }

  .hero-original-price {
    font-size: 1.6rem
  }

  .product-hero-price,
  .quantity-selector {
    justify-content: center
  }

  .product-hero-actions {
    justify-content: center;
    align-items: center
  }

  .qty-btn {
    background: #f8f9fa;
    border: none;
    padding: 2.2rem 1.2rem;
    cursor: pointer;
    font-size: 2.2rem;
    font-weight: 600;
    color: #333;
    line-height: 1.2;
    transition: all .2s ease;
    min-width: 8rem
  }

  .add-to-cart-btn {
    background: #313131;
    color: #fff;
    border: none;
    padding: 2rem;
    border-radius: .8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s ease;
    font-size: 1.6rem;
    text-transform: uppercase;
    letter-spacing: .5px
  }

  .trust-badges,
  .trust-badges-bottom {
    grid-template-rows: 1fr;
    gap: 1.5rem
  }

  .know-more-image-container {
    padding: 0 1.5rem
  }

  .know-more-featured-image {
    border-radius: 1.5rem
  }

  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .comparison-container {
    overflow-x: auto;
    padding: 0 1rem;
    position: relative
  }

  .comparison-container:after {
    content: "";
    display: block;
    text-align: center;
    font-size: 1.4rem;
    color: #4a90e2;
    margin-top: 1rem;
    font-style: italic;
    padding: 0 1rem
  }

  .comparison-table {
    min-width: 85rem;
    width: auto
  }

  .comparison-table-wrapper {
    border-radius: 2rem
  }

  .comparison-header th {
    padding: 1.5rem .8rem;
    min-width: 9rem;
    min-height: 14rem
  }

  .comparison-row td {
    padding: 1.2rem .8rem;
    font-size: 1.2rem;
    min-width: 9rem
  }
}

@media (max-width: 767px) {
  .product-hero-container {
    padding: 0 1rem
  }

  .product-hero-title,
  .hero-current-price {
    font-size: 2.4rem
  }

  .hero-original-price {
    font-size: 1.4rem
  }

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

  .hero-btn {
    width: 100%;
    justify-content: center;
    height: 4.8rem
  }

  .product-thumbnail {
    width: 5rem;
    height: 5rem
  }

  .product-main-image {
    min-height: 30rem;
    padding: 2rem
  }

  .trust-section {
    padding: 2rem;
    text-align: left
  }

  .trust-icon,
  .trust-icon-small {
    width: 4rem;
    height: 4rem
  }

  .trust-icon svg,
  .trust-icon-small svg {
    width: 2rem;
    height: 2rem
  }

  .trust-label {
    font-size: 1.4rem
  }

  .trust-sublabel,
  .trust-text-small {
    font-size: 1.2rem
  }

  .know-more-title {
    font-size: 2.5rem;
    margin-bottom: 3rem
  }

  .know-more-image-container {
    padding: 0 1rem
  }

  .know-more-featured-image {
    border-radius: 1.5rem;
    box-shadow: 0 10px 30px #0000001a
  }

  .testimonials-grid {
    grid-template-columns: 1fr
  }

  .comparison-title {
    font-size: 2.5rem
  }

  .comparison-container {
    padding: 0 .5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .comparison-container:after {
    content: "Swipe to see more →";
    display: block;
    text-align: center;
    font-size: 1.2rem;
    color: #4a90e2;
    margin-top: 1rem;
    font-style: italic;
    padding: 0 1rem
  }

  .comparison-table {
    min-width: 85rem;
    width: auto
  }

  .comparison-header th {
    padding: 1rem .5rem;
    min-width: 8rem;
    min-height: 12rem
  }

  .comparison-row td {
    padding: 1rem .5rem;
    font-size: 1.1rem;
    min-width: 8rem
  }

  .comparison-row td.first {
    padding-left: 1rem;
    min-width: 25rem;
    position: sticky;
    left: 0;
    background: linear-gradient(135deg, #d1eefe, #d1eefe);
    z-index: 1;
    border-right: 2px solid rgba(255, 255, 255, .3)
  }

  .comparison-header th.first {
    min-width: 25rem;
    position: sticky;
    left: 0;
    background: linear-gradient(135deg, #d1eefe, #d1eefe);
    z-index: 2;
    border-right: 2px solid rgba(255, 255, 255, .3)
  }

  .product-image-small {
    width: 12.5rem;
    height: 9.5rem
  }

  .product-name {
    font-size: 1.1rem
  }

  .buy-now-btn {
    padding: .5rem .8rem;
    font-size: 1rem
  }

  .check-mark,
  .cross-mark {
    width: 2.2rem;
    height: 2.2rem
  }
}

@media (max-width: 480px) {
  .product-hero-container {
    padding: 0 .5rem
  }

  .trust-badges,
  .trust-badges-bottom {
    grid-template-columns: 1fr;
    gap: 1.5rem
  }

  .pincode-section {
    margin-bottom: 1.2rem;
    width: 90%
  }

  .pincode-input {
    padding: 1.4rem .6rem
  }

  .trust-section {
    width: 100%
  }

  .know-more-title {
    font-size: 2.4rem;
    margin-bottom: 2.4rem
  }

  .know-more-section {
    padding: 4rem 0
  }

  .know-more-image-container {
    padding: 0 .5rem
  }

  .know-more-featured-image {
    border-radius: .8rem;
    box-shadow: 0 8px 25px #0000001a
  }

  .comparison-container {
    padding: 0 .5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .comparison-container:after {
    content: "Swipe to see more →";
    display: block;
    text-align: center;
    font-size: 1.2rem;
    color: #4a90e2;
    margin-top: 1rem;
    font-style: italic;
    padding: 0 1rem
  }

  .comparison-table {
    min-width: 50rem;
    width: auto
  }

  .comparison-header th {
    padding: 1rem .5rem;
    min-width: 8rem;
    min-height: 12rem
  }

  .comparison-row td {
    padding: 1rem .5rem;
    font-size: 1.1rem;
    min-width: 8rem
  }

  .video-frame {
    padding: 0
  }

  .video-frame iframe {
    height: 23rem
  }

  .comparison-row td.first {
    padding-left: 1rem;
    min-width: 19rem;
    position: sticky;
    left: 0;
    background: #dff1fd;
    z-index: 1;
    border-right: 2px solid rgba(255, 255, 255, .3)
  }

  .comparison-header th.first {
    min-width: 10rem;
    position: sticky;
    left: 0;
    background: #dff1fd;
    z-index: 2;
    border-right: 2px solid rgba(255, 255, 255, .3);
    font-size:1.8rem;
    padding:0;
  }

  .product-image-small {
    width: 9.5rem;
    height: 10.5rem
  }

  .product-name {
    font-size: 1.1rem
  }

  .buy-now-btn {
    padding: .5rem .8rem;
    font-size: 1rem
  }

  .check-mark,
  .cross-mark {
    width: 2.2rem;
    height: 2.2rem
  }
}

.specifications-enhanced {
  background: #f8f9fa;
  padding: 6rem 0;
  margin-bottom: 4rem
}

.specs-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem
}

.specs-title {
  text-align: center;
  font-size: 3.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 4rem
}

.specs-table {
  background: #fff;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 10px 40px #0000001a;
  margin-bottom: 3rem
}

.specs-table:last-child {
  margin-bottom: 0
}

.specs-header {
  background: linear-gradient(135deg, #4a90e2, #7bb3f0);
  color: #fff;
  padding: 2rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700
}

.specs-row {
  display: flex;
  border-bottom: 1px solid #e9ecef;
  transition: all .3s ease
}

.specs-row:hover {
  background: #f8f9fa
}

.specs-row:last-child {
  border-bottom: none
}

.specs-label {
  flex: 1;
  padding: 2rem;
  font-weight: 600;
  color: #2c3e50;
  background: #f8f9fa;
  border-right: 1px solid #e9ecef;
  display: flex;
  align-items: center
}

.specs-value {
  flex: 2;
  padding: 2rem;
  color: #555;
  line-height: 1.6;
  display: flex;
  align-items: center
}

.faq-enhanced {
  background: #f8f9fa;
  padding: 6rem 0;
  margin-bottom: 4rem
}

.faq-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem
}

.faq-title {
  text-align: center;
  font-size: 3.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 4rem
}

.faq-table {
  background: #fff;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 10px 40px #0000001a;
  margin-bottom: 3rem
}

.faq-header {
  background: linear-gradient(135deg, #20c997, #17a2b8);
  color: #fff;
  padding: 2rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700
}

.faq-row {
  display: flex;
  border-bottom: 1px solid #e9ecef;
  transition: all .3s ease
}

.faq-row:hover {
  background: #f8f9fa
}

.faq-row:last-child {
  border-bottom: none
}

.faq-question-cell {
  flex: 1;
  padding: 2rem;
  font-weight: 600;
  color: #2c3e50;
  background: #f8f9fa;
  border-right: 1px solid #e9ecef;
  display: flex;
  align-items: center;
  font-size: 1.6rem
}

.faq-answer-cell {
  flex: 2;
  padding: 2rem;
  color: #555;
  line-height: 1.6;
  display: flex;
  align-items: center;
  font-size: 1.5rem
}

.tech-value {
  color: #444;
  text-align: left
}

@media (max-width: 991px) {

  .specs-container,
  .faq-container {
    padding: 0 1.5rem
  }

  .specs-title,
  .faq-title {
    font-size: 2.8rem;
    margin-bottom: 3rem
  }

  .specs-header,
  .faq-header {
    font-size: 2rem;
    padding: 1.5rem
  }

  .specs-row,
  .faq-row {
    flex-direction: column
  }

  .specs-label,
  .faq-question-cell {
    border-right: none;
    border-bottom: 1px solid #e9ecef;
    padding: 1.5rem
  }

  .specs-value,
  .faq-answer-cell {
    padding: 1.5rem
  }

  .learn-more-btn {
    padding: 1.2rem 3rem;
    font-size: 1.6rem
  }
}

@media (max-width: 767px) {

  .specs-title,
  .faq-title {
    font-size: 2.4rem;
    margin-bottom: 2.5rem
  }

  .specs-header,
  .faq-header {
    font-size: 1.8rem;
    padding: 1.2rem
  }

  .specs-label,
  .faq-question-cell {
    font-size: 1.4rem;
    padding: 1.2rem
  }

  .specs-value,
  .faq-answer-cell {
    font-size: 1.3rem;
    padding: 1.2rem
  }

  .learn-more-btn {
    padding: 1rem 2.5rem;
    font-size: 1.4rem
  }
}

@media (max-width: 480px) {

  .specs-container,
  .faq-container {
    padding: 0 1rem
  }

  .specs-title,
  .faq-title {
    font-size: 2.4rem;
    margin-bottom: 2.4rem
  }

  .specs-header,
  .faq-header {
    font-size: 1.6rem;
    padding: 1rem
  }

  .specs-label,
  .faq-question-cell {
    font-size: 1.3rem;
    padding: 1rem
  }

  .specs-value,
  .faq-answer-cell {
    font-size: 1.2rem;
    padding: 1rem
  }

  .learn-more-btn {
    padding: .8rem 2rem;
    font-size: 1.3rem
  }
}

.accordion-sections {
  background: #ecf8ff;
  padding: 0rem 0;
  margin-bottom: 0
}

.accordion-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.accordion-item {
  flex: 1;
  background: #fff;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 10px 40px #0000001a;
  transition: all .3s ease
}

.accordion-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 50px #00000026
}

.accordion-header {
  background: linear-gradient(135deg, #74b5d9, #99daff);
  padding: 1.6rem 2rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all .3s ease;
  position: relative;
  overflow: hidden
}

.accordion-header:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .1), transparent);
  transition: left .5s
}

.accordion-header:hover:before {
  left: 100%
}

.accordion-header:hover {
  background: linear-gradient(135deg, #3388bd, #287bab)
}

.accordion-title {
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  margin: 0;
  text-align: center;
  width: 100%;
  position: relative;
  z-index: 1
}

.accordion-toggle {
  position: absolute;
  top: 1rem;
  right: 2rem;
  background: #79b6d7;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease
}

.accordion-icon {
  color: #fff;
  transition: transform .3s ease
}

.accordion-item.active .accordion-icon {
  transform: rotate(180deg)
}

.accordion-toggle:hover {
  background: #ffffff4d;
  transform: scale(1.1)
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease-in-out
}

.accordion-item.active .accordion-content {
  max-height: 2000px
}

.accordion-body {
  padding: 3rem 2rem
}

.spec-category {
  margin-bottom: 3rem
}

.spec-category:last-child {
  margin-bottom: 0
}

.spec-category-title {
  font-size: 1.8rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 1.5rem;
  padding-bottom: .8rem;
  border-bottom: 2px solid #bac4cf;
  position: relative
}

.spec-category-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 11rem;
  height: 2px;
  background: #7686ee
}

.spec-list {
  list-style: none;
  padding: 0;
  margin: 0
}

.spec-list li {
  font-size: 1.4rem;
  line-height: 2.2;
  color: #555;
  padding: .5rem 0 .5rem 2rem;
  position: relative;
  transition: all .3s ease
}

.spec-list li:hover {
  color: #4a90e2;
  transform: translate(.5rem)
}

.spec-list li:before {
  content: "";
  position: absolute;
  left: .5rem;
  top: 2rem;
  transform: translateY(-50%);
  width: .6rem;
  height: .6rem;
  background: #4a90e2;
  border-radius: 50%
}

.product-details-text {
  background: #f8f9fa;
  padding: 2rem;
  border-radius: 1rem;
  border-left: 4px solid #4a90e2
}

.product-details-text p {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #555;
  margin-bottom: 1.5rem
}

.product-details-text p:last-child {
  margin-bottom: 0
}

.faq-item {
  border-bottom: 1px solid #e9ecef;
  margin-bottom: 1rem
}

.faq-item:last-child {
  border-bottom: none;
  margin-bottom: 0
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: all .3s ease
}

.faq-question:hover {
  color: #4a90e2
}

.faq-question h5 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #424242;
  margin: 0;
  flex: 1;
  transition: color .3s ease
}

.faq-question:hover h5 {
  color: #4a90e2
}

.faq-toggle {
  width: 3rem;
  height: 3rem;
  background: #686868;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease;
  flex-shrink: 0;
  margin-left: 1rem
}

.faq-toggle:hover {
  background: #357abd;
  transform: scale(1.1)
}

p.delivery-info {
  font-size: 13px;
  margin-left: 13px;
  margin-top: 10px;
  font-weight: 500;
  color: #2c3e50
}

p.delivery-info span {
  color: #18972d
}

.faq-icon {
  color: #fff;
  transition: transform .3s ease
}

.faq-item.active .faq-icon {
  transform: rotate(45deg)
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease-in-out, padding .3s ease-in-out;
  padding: 0
}

.faq-item.active .faq-answer {
  max-height: 500px;
  padding: 0 0 2rem
}

.faq-answer p {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #666;
  margin: 0;
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: .8rem;
  border-left: 4px solid #20c997
}

.faq-item .learn-more-section {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #e9ecef
}

.faq-item .learn-more-btn {
  background: linear-gradient(135deg, #20c997, #17a2b8);
  color: #fff;
  padding: 1.2rem 3rem;
  border: none;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 15px #20c9974d
}

.faq-item .learn-more-btn:hover {
  background: linear-gradient(135deg, #17a2b8, #20c997);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #20c99766
}

.tech-highlights-table {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
  max-width: 60%
}

.tech-row {
  font-size: 15px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px
}

.tech-label {
  color: #222;
  width: 269px;
  font-weight: 500
}

.tech-value {
  color: #444;
  text-align: left;
  width: 100%
}

@media (max-width: 991px) {
  .accordion-container {
    flex-direction: column;
    gap: 3rem;
    padding: 0 1.5rem
  }

  .accordion-title {
    font-size: 2rem
  }

  .accordion-header {
    padding: 2.5rem 1.5rem
  }

  .accordion-toggle {
    top: .8rem;
    right: 1.5rem;
    width: 3.5rem;
    height: 3.5rem
  }
}

@media (max-width: 767px) {
  .accordion-sections {
    padding: 2rem 0 !important
  }

  .video-grid-container {
    max-width: 100% !important;
    padding: 0 2rem !important
  }

  .video-frame {
    padding: 2rem 0 !important;
    margin-bottom: 0rem !important
  }

  .know-more-section {
    padding: 2rem 0 !important;
    margin-bottom: 0 !important
  }

  .accordion-container {
    padding: 0 1rem;
    gap: 2rem
  }

  .accordion-title {
    font-size: 1.8rem
  }

  .accordion-header {
    padding: 2rem 1rem
  }

  .accordion-toggle {
    top: 1.5rem;
    right: 1rem;
    width: 3rem;
    height: 3rem
  }

  .accordion-body {
    padding: 2rem 1.5rem
  }

  .spec-category-title {
    font-size: 1.6rem
  }

  .spec-list li {
    font-size: 1.3rem
  }

  .faq-question h5 {
    font-size: 1.4rem
  }

  .faq-answer p {
    font-size: 1.3rem
  }
}

@media (max-width: 480px) {
  .accordion-title {
    font-size: 1.6rem
  }

  .accordion-header {
    padding: 1.5rem .8rem
  }

  .accordion-body {
    padding: 1.5rem 1rem
  }

  .spec-category-title {
    font-size: 2rem
  }

  .spec-list li {
    font-size: 1.6rem;
    line-height: 2
  }

  .faq-question {
    padding: .5rem 0
  }

  .faq-question h5 {
    font-size: 1.6rem
  }

  .faq-toggle {
    width: 2.5rem;
    height: 2.5rem
  }

  .faq-answer p {
    font-size: 1.6rem;
    padding: 1.6
  }

  .faq-item .learn-more-btn {
    padding: 1rem 2rem;
    font-size: 1.2rem
  }

  .specs-title,
  .faq-title {
    margin-bottom: 0rem !important
  }
}

.video-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000c;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all .3s ease
}

.video-popup-overlay[style*=flex] {
  opacity: 1;
  visibility: visible
}

.product-hero-container {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative
}

.product-section {
  background: #fff;
  padding: 4rem 0;
  margin-bottom: 0
}

.section-title {
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 3rem
}

.specs-dropdown {
  max-width: 50rem;
  margin: 0 auto 2rem;
  border: 1px solid #e5e5e5;
  border-radius: .8rem;
  overflow: hidden
}

.specs-toggle {
  width: 100%;
  padding: 2rem;
  background: #4a90e2;
  color: #fff;
  border: none;
  font-size: 1.8rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background .3s ease
}

.specs-toggle:hover {
  background: #357abd
}

.dropdown-icon {
  font-size: 2rem;
  transition: transform .3s ease
}

.specs-content {
  padding: 2rem;
  background: #f8f9fa
}

.specs-grid {
  display: grid;
  gap: 1rem
}

.spec-item {
  display: flex;
  justify-content: space-between;
  padding: .8rem 0;
  border-bottom: 1px solid #e5e5e5
}

.spec-label {
  font-weight: 600;
  color: #555
}

.spec-value {
  color: #333
}

.faqs-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}

.faq-item {
  padding: 1rem 0;
  border-bottom: 1px solid #e5e5e5
}

.faq-question {
  font-size: 1.6rem;
  font-weight: 600;
  color: #333;
  margin-bottom: .8rem
}

.faq-answer {
  font-size: 1.4rem;
  color: #666;
  line-height: 1.6
}

.no-data {
  text-align: center;
  color: #666;
  font-style: italic;
  padding: 2rem
}

.videos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  gap: 2rem;
  max-width: 100rem;
  margin: 0 auto
}

.video-card {
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 2px 10px #0000001a;
  transition: transform .3s ease
}

.video-card:hover {
  transform: translateY(-5px)
}

.video-thumbnail {
  position: relative;
  height: 7rem;
  overflow: hidden
}

.video-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.video-card h4 {
  padding: 1.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  color: #333
}

.testimonial-info .rating {
  margin: .5rem 0
}

.star {
  color: #ddd;
  font-size: 2.2rem
}

.star.filled {
  color: orange
}

.review-text {
  font-size: 1.3rem;
  color: #666;
  margin: .8rem 0;
  font-style: italic
}

.verified {
  font-size: 1.2rem;
  color: #28a745;
  font-weight: 600
}

.video-frame {
  background: #ecf8ff;
  padding: 3rem 0;
  margin-bottom: 4rem;
  width: 100%
}

.video-grid-container {
  max-width: 92.3%;
  margin: 0 auto;
  padding: 0 2rem
}

.video-grid-container iframe {
  border-radius: 2rem
}

.video-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 2rem
}

.video-row:last-child {
  margin-bottom: 0
}

.video-cell {
  display: flex;
  justify-content: center;
  align-items: center
}

.video-cell iframe {
  width: 100%;
  height: 250px;
  border-radius: 1rem;
  box-shadow: 0 4px 15px #0000001a
}

@media (max-width: 991px) and (min-width: 768px) {
  .video-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    justify-content: center;
    max-width: 800px;
    margin: 0 auto 2rem
  }

  .video-cell iframe {
    width: 100%;
    height: 200px
  }
}

@media (max-width: 767px) {
  .video-row {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 400px;
    margin: 0 auto 1.5rem
  }

  .video-cell iframe {
    width: 100%;
    height: 200px
  }
}

.category-hero-section {
  position: relative;
  min-height: 50rem;
  background: url(../../images/home/video-bg.jpg) center center/cover no-repeat;
  display: flex;
  flex-direction: column
}

.hero-overlay {
  flex: 1;
  background: #00000080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6rem 0
}

.category-hero-section .hero-content {
  text-align: center;
  color: #fff
}

.category-hero-section .hero-title {
  font-size: 6rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 2rem;
  line-height: 1.2;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .3)
}

.category-hero-section .hero-subtitle {
  font-size: 1.6rem;
  color: #ffffffe6;
  line-height: 1.6;
  max-width: 60rem;
  margin: 0 auto
}

.category-nav-tabs {
  background: #3498db;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding: 1.5rem 0
}

.nav-tabs-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap
}

.nav-tab {
  background: transparent;
  border: none;
  color: #fff;
  padding: 1.2rem 9.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  cursor: pointer;
  transition: all .3s ease;
  border-radius: 0;
  white-space: nowrap
}

.nav-tab.compare-btn {
  background: #313131;
  border-radius: .5rem;
  margin-left: 2rem;
  font-weight: 600
}

.nav-tab.compare-btn:hover {
  background: #357abd;
  transform: translateY(-2px)
}

.unlock-anywhere-section {
  padding: 8rem 0;
  background: #f8fafe
}

.section-header {
  text-align: center;
  margin-bottom: 0
}

.unlock-anywhere-section .section-heading {
  font-size: 4rem;
  font-weight: 700;
  color: #4a90e2;
  margin-bottom: 2rem;
  line-height: 1.2;
  text-transform: uppercase
}

.unlock-anywhere-section .section-subtitle {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #666;
  max-width: 80rem;
  margin: 0 auto
}

.unlock-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem
}

.mobile-features-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60rem;
  width: 100%;
  max-width: 100rem
}

.mobile-features-container:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 45rem;
  height: 45rem;
  background: linear-gradient(135deg, #e6f3ff, #cce7ff);
  border-radius: 50%;
  z-index: 1
}

.mobile-phones {
  position: relative;
  z-index: 2
}

.mobile-phones img {
  max-width: 70rem;
  height: auto
}

.feature-points {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 3
}

.feature-point {
  position: absolute;
  background: #fff;
  padding: 1.2rem 1.8rem;
  border-radius: 1.2rem;
  box-shadow: 0 4px 15px #00000014;
  border: 1px solid #f0f0f0;
  max-width: 18rem;
  min-width: 16rem
}

.feature-point h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .5px
}

.feature-point.top-left {
  top: 8%;
  left: 5%
}

.feature-point.top-right {
  top: 8%;
  right: 5%
}

.feature-point.left {
  top: 38%;
  left: -2%
}

.feature-point.right {
  top: 38%;
  right: -2%
}

.feature-point.bottom-left {
  bottom: 18%;
  left: 5%
}

.feature-point.bottom-right {
  bottom: 18%;
  right: 5%
}

.feature-point.bottom-center {
  bottom: 5%;
  left: 50%;
  transform: translate(-50%)
}

.app-download-section {
  text-align: center
}

.unlock-anywhere-section .app-download-buttons {
  display: flex;
  gap: 2rem;
  justify-content: center
}

.unlock-anywhere-section .app-button img {
  height: 5.5rem;
  width: auto;
  transition: transform .3s ease
}

.unlock-anywhere-section .app-button:hover img {
  transform: translateY(-.3rem)
}

.durability-section {
  padding: 8rem 0;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef)
}

.durability-features {
  margin-top: 6rem
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4rem
}

.feature-icon {
  width: 8rem;
  height: 8rem;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3388bd1a;
  border-radius: 50%
}

.feature-icon img {
  width: 4rem;
  height: 4rem;
  object-fit: contain
}

.feature-item h3 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--black80);
  margin-bottom: 1rem;
  line-height: 1.3;
  text-transform: uppercase
}

.feature-item p {
  font-size: 1.4rem;
  color: var(--gray);
  line-height: 1.5
}

.ways-unlock-section {
  padding: 8rem 0;
  background: var(--white)
}

.unlock-methods-carousel {
  margin-top: 6rem
}

.method-grid {
  display: flex;
  justify-content: center;
  gap: 4rem;
  flex-wrap: wrap
}

.method-item {
  text-align: center;
  padding: 3rem 2rem;
  background: linear-gradient(135deg, #f0f8ff, #e8f4f8);
  border-radius: 2rem;
  min-width: 20rem;
  transition: all .3s ease;
  position: relative
}

.method-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px #3388bd33
}

.method-number {
  position: absolute;
  top: 1rem;
  left: 1.5rem;
  font-size: 3rem;
  font-weight: 900;
  color: #3388bd4d
}

.method-icon {
  width: 8rem;
  height: 8rem;
  margin: 2rem auto;
  display: flex;
  align-items: center;
  justify-content: center
}

.method-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.method-item h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--black80);
  text-transform: uppercase;
  line-height: 1.3
}

.method-item.large {
  padding: 4rem 3rem;
  min-width: 30rem
}

.method-item.large h3 {
  font-size: 2.2rem;
  margin-bottom: 1.5rem
}

.method-item.large p {
  font-size: 1.6rem;
  color: var(--gray);
  line-height: 1.5
}

.super-reliable-section {
  padding: 8rem 0;
  background: linear-gradient(135deg, #2c3e50, #376a9e);
  color: var(--white)
}

.super-reliable-section .heading {
  color: var(--white)
}

.super-reliable-section .subtext {
  color: #ffffffe6
}

.reliability-features {
  margin-top: 6rem
}

.feature-grid-2x3 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  max-width: 80rem;
  margin: 0 auto
}

.reliability-item {
  text-align: center;
  padding: 4rem 3rem;
  background: #ffffff1a;
  border-radius: 2rem;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .2);
  transition: all .3s ease
}

.reliability-item:hover {
  transform: translateY(-10px);
  background: #ffffff26;
  box-shadow: 0 15px 40px #0003
}

.reliability-icon {
  width: 10rem;
  height: 10rem;
  margin: 0 auto 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff1a;
  border-radius: 50%
}

.reliability-icon img {
  width: 5rem;
  height: 5rem;
  object-fit: contain
}

.reliability-item h3 {
  font-size: 2rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
  text-transform: uppercase
}

.seamless-section {
  padding: 8rem 0;
  background: var(--white)
}

.seamless-content {
  display: flex;
  align-items: center;
  gap: 6rem
}

.seamless-text {
  flex: 1
}

.seamless-section .section-heading {
  font-size: 4.5rem;
  font-weight: 900;
  color: var(--black80);
  margin-bottom: 2rem;
  line-height: 1.2;
  text-transform: uppercase
}

.seamless-section .section-description {
  font-size: 2rem;
  font-weight: 600;
  color: var(--skyblue);
  margin-bottom: 2rem;
  line-height: 1.4;
  text-transform: uppercase
}

.seamless-section .section-details {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--gray)
}

.seamless-image {
  flex: 1;
  text-align: center
}

.seamless-image img {
  max-width: 100%;
  height: auto;
  border-radius: 2rem
}

@media (max-width: 1199px) {
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem
  }

  .category-hero-section .inner-box {
    gap: 3rem
  }
}

@media (max-width: 991px) {

  .unlock-anywhere-section .section-content,
  .seamless-content {
    flex-direction: column;
    gap: 4rem
  }

  .category-hero-section .inner-box {
    flex-direction: column;
    text-align: center;
    gap: 3rem
  }

  .feature-grid-2x3 {
    grid-template-columns: 1fr;
    gap: 3rem
  }
}

@media (max-width: 991px) {
  .nav-tabs-container {
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0 2rem
  }

  .nav-tab.compare-btn {
    margin-left: 1rem
  }

  .mobile-features-container {
    min-height: 50rem
  }

  .mobile-phones img {
    max-width: 35rem
  }

  .feature-point {
    max-width: 15rem;
    padding: 1rem 1.5rem
  }

  .feature-point h3 {
    font-size: 1.1rem
  }
}

@media (max-width: 767px) {
  .category-hero-section .hero-title {
    font-size: 4rem
  }

  .category-hero-section .hero-subtitle {
    font-size: 1.4rem
  }

  .hero-overlay {
    padding: 4rem 0
  }

  .nav-tab {
    padding: 1rem 1.5rem;
    font-size: 1.2rem
  }

  .unlock-anywhere-section .section-heading {
    font-size: 3rem
  }

  .mobile-features-container {
    min-height: 40rem
  }

  .mobile-phones img {
    max-width: 28rem
  }

  .feature-point {
    max-width: 12rem;
    padding: .8rem 1rem
  }

  .feature-point h3 {
    font-size: 1rem
  }

  .feature-point.left {
    left: -10%
  }

  .feature-point.right {
    right: -10%
  }

  .feature-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .method-grid {
    flex-direction: column;
    align-items: center;
    gap: 2rem
  }

  .method-item,
  .method-item.large {
    min-width: auto;
    width: 100%;
    max-width: 30rem
  }

  .unlock-anywhere-section,
  .durability-section,
  .ways-unlock-section,
  .super-reliable-section,
  .seamless-section {
    padding: 4rem 0
  }

  .seamless-section .section-heading {
    font-size: 3rem
  }
}

@media (max-width: 576px) {
  .category-hero-section .hero-title {
    font-size: 3rem
  }

  .nav-tabs-container {
    padding: 0 1rem
  }

  .nav-tab {
    padding: .8rem 1rem;
    font-size: 1.1rem
  }

  .mobile-features-container {
    min-height: 35rem
  }

  .mobile-phones img {
    max-width: 22rem
  }

  .feature-point {
    max-width: 10rem;
    padding: .6rem .8rem
  }

  .feature-point h3 {
    font-size: .9rem
  }
}

.testimonials-hero {
  position: relative;
  min-height: 40rem;
  background: linear-gradient(#0006, #0009), url(../../images/testimonial-banner-corelense_1753275030199.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

@media only screen and (max-width: 576px) {
  .client-testimonial .review-number {
    display: block !important;
    margin-top: 4rem !important;
    text-align: center !important;
    margin-bottom: 4rem !important;
  }
  .footer-main p {
    margin-top: 0rem;
}
.footer-col.about-col {
   margin: 0;
}
.footer-main .logo {
    width: 15rem;
}

  .client-testimonial .review-number .btn {
    margin-left: 0
  }

  .client-testimonial .review-number .text {
    display: block !important;
    text-align: center !important;
    margin: 0 0 20px
  }

  .client-testimonial .review-number .text {
    display: block !important;
    text-align: center !important
  }
   .footer-main {
        flex-direction: column;
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }

    .footer-col.about-col {
        flex: 2.5;
    }
}

.cart-hero-section:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: url(/images/home/Smart-Locks-with-Hero-Service.jpg) no-repeat right center;
  background-size: contain;
  opacity: .3;
  z-index: 1
}

@media (max-width: 480px) {
  .qty-btn-viewcart {
    width: 2.8rem;
    height: 2.8rem;
    font-size: 1.4rem
  }

  .qty-display-viewcart {
    min-width: 3.5rem;
    height: 2.8rem;
    font-size: 1.3rem
  }
}

.signin-hero-section {
  background: #9fd6fd;
  padding: 4rem 0;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.signin-hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem
}

.signin-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #2c3e50
}

.profile-info,
.profile-edit-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(326px, 1fr));
  gap: 0rem;
  width: 100%;
  max-width: 100%;
  text-align: left
}

.info-group,
.form-group {
  margin-bottom: 2rem;
  padding: 0 2rem
}

.info-group label,
.form-group label {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: .8rem
}

.loading-state,
.error-state {
  text-align: center;
  padding: 40px 20px
}

.loading-spinner {
  font-size: 2rem;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem
}

@keyframes spin {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

.error-icon {
  font-size: 3rem;
  margin-bottom: 1rem
}

.retry-btn {
  background: #007bff;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 15px
}

.retry-btn:hover {
  background: #0056b3
}

.purchase-history-container {
  width: 100%;
  margin-top: 2rem
}

.purchase-history-table-wrapper {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px #00000014;
  overflow: hidden;
  border: 1px solid #e9ecef
}
.purchase-history-table .product-info{
    gap: 0.5rem;
    min-height: 2rem;
    align-items: center;
}
.purchase-history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
  background: #fff
}

.purchase-history-table thead {
  background: linear-gradient(135deg, #6bc3c3 0%, #89d9d9 100%);
    color: #0e0e0e;
}
.dashboard-nav-list > li:nth-child(3) {
  display: none;
}

.purchase-history-table th {
  padding: 1.8rem 2.5rem;
  text-align: left;
  font-weight: 600;
  font-size: 1.4rem;
  letter-spacing: .5px;
  text-transform: uppercase;
  border: none;
  text-align: center;
}
.purchase-history-table td{
      padding: 1.8rem 2.5rem;
        text-align: center;
}
td button {
    align-items: center;
    background: #fdf1e8;
    background: #c4ffff;
    border: none;
    border-radius: 100px;
    color: #e46a11;
    color: #000000;
    display: flex;
    flex-direction: column;
    font-weight: 600;
    justify-content: center;
    padding: 8px 11px;
}
.purchase-history-table tbody tr {
  border-bottom: 1px solid #f0f2f5;
  transition: all .3s ease
}

.purchase-history-table tbody tr:hover {
  background: #f8f9ff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px #4a90e21a
}

.purchase-history-table td {
     padding: 1.8rem 1.5rem;
    vertical-align: middle;
    border: none;
}

.order-id-cell {
  font-weight: 600
}

.order-id-badge {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #fff;
  padding: .6rem 1.2rem;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .5px
}

.date-info {
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.date-primary {
  font-weight: 600;
  color: #2c3e50;
  font-size: 1.4rem
}

.date-secondary {
  color: #6c757d;
  font-size: 1.2rem
}

.items-summary {
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.items-count {
  font-weight: 600;
  color: #495057;
  background: #e3f2fd;
  padding: .4rem .8rem;
  border-radius: 12px;
  font-size: 1.2rem;
  display: inline-block;
  width: fit-content
}

.first-item-name {
  color: #6c757d;
  font-size: 1.2rem;
  line-height: 1.4
}

.amount-info {
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.amount-primary {
  font-weight: 700;
  color: #28a745;
  font-size: 1.6rem
}

.amount-secondary {
  color: #6c757d;
  font-size: 1.1rem
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .8rem 1.4rem;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: .5px
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block
}

.status-completed {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb
}

.status-completed .status-dot {
  background: #28a745
}

.status-pending {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7
}

.status-pending .status-dot {
  background: #ffc107
}

.status-cancelled {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb
}

.status-cancelled .status-dot {
  background: #dc3545
}

.payment-info {
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.payment-status {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-weight: 600;
  font-size: 1.2rem
}

.payment-status.success {
  color: #28a745
}

.payment-status.pending {
  color: #ffc107
}

.payment-icon {
  font-size: 1.4rem
}

.payment-id-short {
  color: #6c757d;
  font-size: 1.1rem;
  font-family: monospace
}

.action-buttons {
  display: flex;
  gap: .8rem;
  align-items: center
}

.action-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .8rem 1.2rem;
  border: none;
  border-radius: 8px;
  font-size: 1.2rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  text-decoration: none
}

.view-details-btn {
  background: #4a90e2;
  color: #fff
}

.view-details-btn:hover {
  background: #357abd;
  transform: translateY(-2px)
}

.download-btn {
  background: #6c757d;
  color: #fff
}

.download-btn:hover {
  background: #545b62;
  transform: translateY(-2px)
}

.action-icon {
  font-size: 1.1rem
}

.order-details-row {
  background: #f8f9ff
}

.order-details-cell {
  padding: 0 !important
}

.order-details-content {
  padding: 2.5rem;
  border-top: 3px solid #4a90e2
}

.details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem
}

.details-section {
  background: #fff;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 2px 8px #0000001a
}

.details-section-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e9ecef
}

.section-icon {
  font-size: 1.8rem
}

.items-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem
}

.item-detail-card {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 8px;
  border-left: 4px solid #4a90e2
}

.item-info {
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.item-name {
  font-weight: 600;
  color: #2c3e50;
  font-size: 1.4rem
}

.item-sku {
  color: #6c757d;
  font-size: 1.1rem;
  font-family: monospace
}

.item-quantity {
  display: flex;
  align-items: center;
  gap: .5rem
}

.qty-label {
  color: #6c757d;
  font-size: 1.2rem
}

.qty-value {
  font-weight: 600;
  color: #495057;
  background: #fff;
  padding: .4rem .8rem;
  border-radius: 6px;
  font-size: 1.2rem
}

.item-price {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  text-align: right
}

.price-value {
  font-weight: 600;
  color: #28a745;
  font-size: 1.4rem
}

.price-total {
  color: #6c757d;
  font-size: 1.1rem
}

.no-items-message {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  text-align: center;
  color: #6c757d;
  background: #f8f9fa;
  border-radius: 8px;
  border: 2px dashed #dee2e6
}

.no-items-icon {
  font-size: 2rem
}

.info-grid {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}

.info-item {
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.info-item label {
  font-weight: 600;
  color: #495057;
  font-size: 1.2rem
}

.info-item p {
  color: #6c757d;
  font-size: 1.3rem;
  margin: 0;
  padding: .8rem;
  background: #f8f9fa;
  border-radius: 6px;
  line-height: 1.4
}

.payment-id-full {
  font-family: monospace;
  word-break: break-all
}

.total-amount {
  font-weight: 700 !important;
  color: #28a745 !important;
  font-size: 1.6rem !important
}

.order-timeline {
  background: #fff;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 2px 8px #0000001a
}

.timeline-items {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  position: relative
}

.timeline-items:before {
  content: "";
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #dee2e6
}

.timeline-item {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  position: relative
}

.timeline-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #dee2e6;
  border: 4px solid white;
  box-shadow: 0 2px 8px #0000001a;
  position: relative;
  z-index: 2;
  flex-shrink: 0
}

.timeline-item.completed .timeline-dot {
  background: #28a745
}

.timeline-item.pending .timeline-dot {
  background: #ffc107
}

.timeline-content {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  flex: 1
}

.timeline-title {
  font-weight: 600;
  color: #2c3e50;
  font-size: 1.4rem
}

.timeline-date {
  color: #6c757d;
  font-size: 1.2rem
}

@media (max-width: 1200px) {
  .details-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .item-detail-card {
    grid-template-columns: 1fr;
    gap: 1rem
  }

  .item-price {
    text-align: left
  }
}

@media (max-width: 768px) {
  .purchase-history-table-wrapper {
    border-radius: 8px;
    overflow-x: auto
  }

  .purchase-history-table {
    min-width: 800px
  }

  .purchase-history-table th,
  .purchase-history-table td {
    padding: 1.2rem 1rem
  }

  .action-buttons {
    flex-direction: column;
    gap: .5rem
  }

  .action-btn {
    width: 100%;
    justify-content: center
  }

  .order-details-content,
  .details-section {
    padding: 1.5rem
  }
}

@media (max-width: 480px) {
  .purchase-history-container {
    margin-left: -1rem;
    margin-right: -1rem
  }

  .purchase-history-table {
    font-size: 1.2rem
  }

  .purchase-history-table th {
    font-size: 1.2rem;
    padding: 1rem .8rem
  }

  .purchase-history-table td {
    padding: 1rem .8rem
  }
}

.surveillance-banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../../images/security-banner.png) center/cover;
  opacity: .3;
  z-index: 1
}

.surveillance-page .how-it-works-main-title {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 4rem;
  color: #2c3e50
}

.how-it-works-main-title {
  text-align: center;
  font-size: 3.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 6rem;
  line-height: 1.2
}

.vector-icon-large {
  width: 9rem;
  height: 9rem;
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  flex-shrink: 0
}

@media (max-width: 991px) {
  .flip-cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem
  }

  .flip-card {
    height: 38rem
  }

  .how-it-works-main-title {
    font-size: 3.2rem;
    margin-bottom: 5rem
  }

  .vector-icon-large {
    width: 12rem;
    height: 12rem;
    margin-bottom: 1rem
  }

  .vector-svg-large {
    width: 9rem;
    height: 9rem
  }

  .flip-card-title {
    font-size: 2.2rem;
    margin-bottom: 1.2rem;
    line-height: 1.3
  }

  .flip-card-description {
    font-size: 1.5rem;
    line-height: 1.5
  }

  .flip-card-back h3 {
    font-size: 2.2rem;
    margin-bottom: 1.2rem
  }

  .flip-card-back p {
    font-size: 1.5rem;
    line-height: 1.5
  }

  .flipcord-details {
    padding: 1rem 0
  }

  .services-header {
    flex-direction: column;
    text-align: center;
    gap: 3rem
  }

  .section-title {
    font-size: 3.8rem
  }

  .services-subtitle {
    text-align: center;
    max-width: 100%
  }

  .services-subtitle p {
    font-size: 1.7rem;
    line-height: 1.6
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .service-card {
    padding: 3rem 2.5rem;
    min-height: 20rem
  }

  .service-card h3 {
    font-size: 2.1rem
  }

  .service-card p {
    font-size: 1.5rem
  }

  .surveillance-comparison-table {
    padding: 5rem 0
  }

  .comparison-table-container {
    max-width: 95%;
    padding: 0 2rem
  }

  .comparison-table-cell {
    padding: 2rem 2.5rem;
    font-size: 1.6rem
  }

  .normal-cctv-header,
  .corelens-header {
    font-size: 2rem
  }
}

@media (max-width: 768px) {
  .surveillance-how-it-works {
    padding: 6rem 0
  }

  .flip-cards-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
    padding: 0 2rem
  }

  .flip-card {
    max-width: 400px;
    margin: 0 auto;
    height: 40rem
  }

  .how-it-works-main-title {
    font-size: 3.5rem;
    margin-bottom: 4rem;
    line-height: 1.3
  }

  .vector-icon-large {
    width: 12rem;
    height: 12rem;
    margin-bottom: .5rem
  }

  .vector-svg-large {
    width: 9rem;
    height: 9rem
  }

  .flip-card-title {
    font-size: 2.2rem;
    margin-bottom: 1rem;
    line-height: 1.3
  }

  .flip-card-description {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .flip-card-back h3 {
    font-size: 2.2rem;
    margin-bottom: 1rem
  }

  .flip-card-back p {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .flipcord-details {
    padding: .5rem 0;
    gap: .5rem
  }

  .surveillance-services {
    padding: 5rem 0
  }

  .services-content {
    max-width: 95%
  }

  .services-header {
    margin-bottom: 3rem
  }

  .section-title {
    font-size: 3.5rem;
    line-height: 1.3
  }

  .services-subtitle p {
    font-size: 1.7rem;
    line-height: 1.5
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .service-card {
    padding: 3rem 2rem;
    min-height: auto
  }

  .service-card h3 {
    font-size: 2.2rem;
    margin-bottom: 1.2rem
  }

  .service-card p {
    font-size: 1.6rem;
    line-height: 1.5
  }

  .surveillance-comparison-table {
    padding: 4rem 0
  }

  .comparison-table-container {
    max-width: 100%;
    padding: 0 1.5rem
  }

  .comparison-table-cell {
    padding: 1.8rem 1.5rem;
    font-size: 1.5rem
  }

  .normal-cctv-header,
  .corelens-header {
    font-size: 1.8rem;
    padding: 2rem 1.5rem
  }
}

@media (max-width: 991px) {
  .banner-title {
    font-size: 3.6rem
  }

  .offer-content {
    flex-direction: column;
    text-align: center
  }

  .how-it-works-main-title {
    font-size: 3.5rem;
    margin-bottom: 6rem
  }

  .surveillance-steps-flow {
    flex-direction: column;
    align-items: center;
    gap: 0rem
  }

  .surveillance-step {
    max-width: 35rem
  }

  .step-arrow {
    transform: rotate(90deg);
    margin: 2rem 0
  }

  .step-arrow img {
    width: 5rem
  }

  .services-header {
    flex-direction: column;
    text-align: center;
    gap: 3rem
  }

  .services-subtitle {
    text-align: left;
    max-width: 100%
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .help-grid {
    grid-template-columns: 1fr;
    width: 100%
  }

  .help-feature.headline-features {
    text-align: left
  }

  .surveillance-page .help-card {
    height: 50rem
  }
}

@media (max-width: 767px) {
  .banner-title {
    font-size: 3.2rem;
    line-height: 1.2
  }

  .banner-subtitle {
    font-size: 1.8rem;
    line-height: 1.5
  }

  .offer-title {
    font-size: 3.2rem;
    line-height: 1.3
  }

  .section-title {
    font-size: 3.2rem
  }

  .how-it-works-main-title {
    font-size: 2.8rem;
    margin-bottom: 4rem;
    padding: 0 2rem
  }

  .surveillance-how-it-works {
    padding: 6rem 0
  }

  .surveillance-step {
    max-width: 30rem
  }

  .step-circle {
    width: 9rem;
    height: 9rem
  }

  .step-icon {
    font-size: 2.5rem
  }

  .step-number {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1rem
  }

  .step-title {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }

  .step-description {
    font-size: 1.2rem
  }

  .step-arrow img {
    width: 4rem
  }

  .app-screen-image {
    width: 25rem;
    max-height: 40rem
  }

  .offer-buttons {
    flex-direction: column
  }

  .btn {
    width: 100%;
    font-size: 1.6rem;
    padding: 1.8rem 2rem
  }

  .offer-subtitle {
    font-size: 1.6rem;
    line-height: 1.6
  }

  .feature-item {
    font-size: 1.5rem;
    margin-bottom: 1.8rem
  }

  .surveillance-banner,
  .surveillance-offer,
  .surveillance-services {
    padding: 4rem 0
  }

  .service-card {
    padding: 3rem 2rem;
    min-height: auto
  }

  .help-features-overlay {
    bottom: 2rem;
    left: 2rem;
    right: 2rem
  }

  .help-feature {
    padding: 1rem 1.5rem;
    font-size: 1.2rem
  }
}

@media (max-width: 480px) {
  .banner-content {
    padding: 3rem 1.5rem
  }

  .surveillance-page .how-it-works-main-title {
    padding: 0 0 2%
  }

  .banner-title {
    font-size: 2.8rem;
    line-height: 1.2
  }

  .offer-title,
  .section-title {
    font-size: 2.8rem;
    line-height: 1.3
  }

  .how-it-works-main-title {
    font-size: 2.8rem;
    padding: 0 1.5rem;
    line-height: 1.3
  }

  .flip-cards-grid {
    gap: 1.5rem;
    padding: 0 1.5rem
  }

  .flip-card {
    height: 40rem;
    max-width: 380px
  }

  .vector-icon-large {
    width: 14rem;
    height: 14rem;
    margin-bottom: 1rem
  }

  .vector-svg-large {
    width: 10rem;
    height: 10rem
  }

  .flip-card-title {
    font-size: 2.2rem;
    margin-bottom: 1rem;
    line-height: 1.3
  }

  .flip-card-description {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .flipcord-details {
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .8rem
  }

  .flip-card-front,
  .flip-card-back {
    padding: 2.5rem 2rem
  }

  .flip-card-back h3 {
    font-size: 2.2rem;
    margin-bottom: 1.2rem
  }

  .flip-card-back p {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .surveillance-step {
    max-width: 28rem
  }

  .step-circle {
    width: 8rem;
    height: 8rem
  }

  .step-icon {
    font-size: 2rem
  }

  .step-number {
    width: 2rem;
    height: 2rem;
    font-size: .9rem
  }

  .step-title {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 600
  }

  .step-description {
    font-size: 1.4rem
  }

  .step-arrow img {
    display: none
  }

  .app-screen-image {
    width: 22rem;
    max-height: 35rem
  }

  .surveillance-services {
    padding: 4rem 0
  }

  .services-content {
    max-width: 100%
  }

  .section-title {
    font-size: 3.2rem
  }

  .services-subtitle p {
    font-size: 1.6rem
  }

  .service-card {
    padding: 2.5rem 1.5rem;
    min-height: auto
  }

  .service-card h3 {
    font-size: 2rem
  }

  .service-card p {
    font-size: 1.5rem
  }

  .service-icon {
    width: 4rem;
    height: 4rem;
    margin-bottom: 2rem
  }

  .service-icon-font {
    font-size: 2rem
  }

  .surveillance-comparison-table {
    padding: 3rem 0
  }

  .comparison-table-container {
    padding: 0 1rem
  }

  .comparison-table-cell {
    padding: 1.5rem 1rem;
    font-size: 1.4rem
  }

  .normal-cctv-header,
  .corelens-header {
    font-size: 1.6rem;
    padding: 1.8rem 1rem
  }

  .surveillance-comparison-table-main {
    border-radius: 1rem
  }
}

.testimonials-hero {
  position: relative;
  min-height: 40rem;
  background: linear-gradient(#0006, #0009), url(../../images/testimonial-banner-corelense_1753275030199.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.testimonials-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #035a91, #2d3d4821);
  display: flex;
  align-items: center;
  justify-content: center
}

.testimonials-page .testimonials-hero-title {
  font-size: 4.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 0rem;
  letter-spacing: 3px;
  color: #fff;
  text-transform: uppercase
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
  margin-bottom: 8rem;
  max-width: 133rem;
  margin-left: auto;
  margin-right: auto
}

.testimonial-card {
  background: #fff;
  border-radius: 1.2rem;
  padding: 2rem;
  box-shadow: 0 4px 15px #0000001a;
  transition: all .3s ease;
  border: 1px solid #e8e8e8;
  position: relative;
  overflow: hidden;
  min-height: 18rem
}

.testimonial-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(92deg, #58b8f7, #58b8f7)
}

.verified-badge {
  background: #58b8f7;
  color: #fff;
  padding: .5rem 1rem;
  border-radius: 2rem;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: .5rem
}

.testimonial-text {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #555;
  margin-bottom: 1.2rem;
  min-height: 8em
}

.author-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #f0f0f0
}

.author-name {
  font-size: 1.4rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0rem
}

.cart-page {
  min-height: 100vh;
  background: var(--white)
}

.cart-hero-section {
  background: linear-gradient(135deg, #e8f4f8, #f0f8ff);
  padding: 4rem 0;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.cart-inner-container {
  width: 124rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 2rem
}

.cart-hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem
}

.cart-title {
  font-size: 4rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0
}

.cart-page-section {
  padding: 6rem 0;
  background: var(--white)
}

.cart-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 4rem;
  align-items: start
}

.cart-items-section {
  background: var(--white);
  border-radius: 2rem;
  box-shadow: 0 4px 20px #00000014;
  overflow: hidden
}

.cart-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.5rem 3rem;
  background: #f8f9fa;
  border-bottom: 1px solid #e5e5e5
}

.cart-section-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0
}

.cart-controls {
  display: flex;
  gap: 1rem
}

.clear-cart-btn {
  padding: 1rem 2rem;
  background: #dc3545;
  color: var(--white);
  border: none;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}

.clear-cart-btn:hover {
  background: #c82333;
  transform: translateY(-2px)
}

.cart-items-container {
  padding: 0
}

.empty-cart {
  text-align: center;
  padding: 6rem 3rem
}

.empty-cart h3 {
  font-size: 2.4rem;
  color: var(--black80);
  margin-bottom: 1rem
}

.empty-cart p {
  font-size: 1.6rem;
  color: var(--gray);
  margin-bottom: 3rem
}

.cart-item-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 2rem;
  padding: 3rem;
  border-bottom: 1px solid #e5e5e5;
  align-items: center;
  transition: background-color .3s ease
}

.cart-item-row:hover {
  background: #f8f9fa
}

.item-image-container {
  position: relative;
  width: 12rem;
  height: 12rem
}

.cart-item-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 1rem;
  background: #f8f9fa
}

.item-details-container {
  display: flex;
  flex-direction: column;
  gap: 1rem
}

.item-name {
  font-size: 2rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0
}

.item-pricing {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap
}

.current-price {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--skyblue)
}

.original-price {
  font-size: 1.6rem;
  color: var(--gray80);
  text-decoration: line-through
}

.savings {
  font-size: 1.4rem;
  color: #28a745;
  font-weight: 600
}

.item-features {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap
}

.feature-tag {
  background: #1a73e81a;
  color: var(--skyblue);
  padding: .4rem 1rem;
  border-radius: 1.5rem;
  font-size: 1.2rem;
  font-weight: 500
}

.quantity-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem
}

.quantity-selector {
  display: flex;
  align-items: center;
  border: 2px solid #e5e5e5;
  border-radius: .8rem;
  overflow: hidden
}

.qty-btn {
  width: 4rem;
  height: 3.5rem;
  border: none;
  background: #f8f9fa;
  color: var(--black80);
  font-size: 1.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}

.qty-btn:hover {
  background: var(--skyblue);
  color: var(--white)
}

.qty-input {
  width: 5rem;
  height: 3.5rem;
  border: none;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  background: var(--white);
  color: var(--black)
}

.qty-input:focus {
  outline: none
}

.total-price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--black);
  text-align: center
}

.action-buttons {
  display: flex;
  justify-content: center
}

.remove-btn {
  width: 4rem;
  height: 4rem;
  border: none;
  background: #fee;
  color: #dc3545;
  border-radius: .8rem;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem
}

.remove-btn:hover {
  background: #dc3545;
  color: var(--white);
  transform: scale(1.05)
}

.cart-actions-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.5rem 3rem;
  background: #f8f9fa;
  border-top: 1px solid #e5e5e5
}

.continue-shopping-btn {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem 2.5rem;
  background: var(--white);
  color: var(--black80);
  border: 2px solid #e5e5e5;
  border-radius: .8rem;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 600;
  transition: all .3s ease
}

.continue-shopping-btn:hover {
  background: var(--skyblue);
  color: var(--white);
  border-color: var(--skyblue);
  transform: translateY(-2px)
}

.cart-total-summary {
  display: flex;
  align-items: center;
  gap: 1rem
}

.total-label {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--black80)
}

.total-amount {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--skyblue)
}

.cart-summary-section {
  position: sticky;
  top: 2rem
}

.cart-summary-card {
  background: var(--white);
  border-radius: 2rem;
  box-shadow: 0 4px 20px #00000014;
  overflow: hidden
}

.summary-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--black80);
  margin: 0;
  padding: 2.5rem 2.5rem 0
}

.summary-items {
  padding: 2rem 2.5rem;
  border-bottom: 1px solid #e5e5e5
}

.cart-item-summary {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  padding: 1rem 0
}

.cart-item-summary .item-image {
  width: 5rem;
  height: 5rem;
  flex-shrink: 0
}

.cart-item-summary .item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: .8rem;
  background: #f8f9fa
}

.cart-item-summary .item-details {
  flex: 1
}

.cart-item-summary .item-details h4 {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black80);
  margin: 0 0 .5rem
}

.cart-item-summary .item-price {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.cart-item-summary .quantity {
  font-size: 1.3rem;
  color: var(--gray)
}

.cart-item-summary .price {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--skyblue)
}

.summary-calculations {
  padding: 2rem 2.5rem;
  border-bottom: 1px solid #e5e5e5
}

.calculation-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.5rem
}

.calculation-row:last-child {
  margin-bottom: 0
}

.calculation-row.total-row {
  font-size: 1.8rem;
  font-weight: 700;
  padding-top: 1rem;
  border-top: 1px solid #e5e5e5;
  color: var(--black80)
}

.free-shipping {
  color: #28a745;
  font-weight: 600
}

.checkout-actions {
  padding: 2.5rem
}

.checkout-btn-primary {
  width: 100%;
  padding: 1.6rem;
  background: var(--skyblue);
  color: var(--white);
  border: none;
  border-radius: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: .5px
}

.checkout-btn-primary:hover {
  background: #1557b0;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #1a73e84d
}

.payment-options {
  text-align: center;
  margin-bottom: 2rem
}

.payment-options span:first-child {
  display: block;
  font-size: 1.4rem;
  color: var(--gray);
  margin-bottom: 1rem
}

.payment-icons {
  display: flex;
  justify-content: center;
  gap: 1rem
}

.payment-icons span {
  font-size: 2rem
}

.security-info {
  text-align: center
}

.security-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: #28a745
}

.security-info p {
  font-size: 1.2rem;
  color: var(--gray);
  margin: 0
}

@media (max-width: 1199px) {
  .cart-layout {
    grid-template-columns: 1fr;
    gap: 3rem
  }

  .cart-summary-section {
    position: static
  }
}

@media (max-width: 991px) {
  .cart-item-row {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center
  }

  .item-image-container {
    justify-self: center
  }

  .cart-actions-row {
    flex-direction: column;
    gap: 2rem;
    text-align: center
  }
}

@media (max-width: 767px) {
  .cart-inner-container {
    padding: 0 1.5rem
  }

  .cart-title {
    font-size: 3rem
  }

  .cart-item-row {
    padding: 2rem 1.5rem
  }

  .cart-header-row {
    padding: 2rem 1.5rem;
    flex-direction: column;
    gap: 1.5rem;
    text-align: center
  }

  .cart-actions-row {
    padding: 2rem 1.5rem
  }

  .cart-summary-card {
    margin: 0 1.5rem
  }
}

.cart-page {
  font-family: Poppins, sans-serif;
  background: #f5f5f5;
  min-height: 100vh
}

.cart-hero-section {
  background: var(--blue);
  padding: 4rem 0 3rem;
  position: relative;
  overflow: hidden
}

.cart-hero-section:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: url(/images/home/Smart-Locks-with-Hero-Service.jpg) no-repeat right center;
  background-size: contain;
  opacity: .3;
  z-index: 1
}

.cart-inner-container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem
}

.cart-hero-content {
  position: relative;
  z-index: 1
}

.cart-title {
  font-size: 4.5rem;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 3px
}

.cart-breadcrumb {
  font-size: 1.6rem
}

.cart-breadcrumb a {
  color: inherit;
  text-decoration: none;
  color: #fff
}

.cart-breadcrumb a:hover {
  text-decoration: underline
}

.cart-page-section {
  padding: 4rem 0
}

.cart-layout {
  display: grid;
  grid-template-columns: 1fr 500px;
  gap: 4rem;
  align-items: flex-start;
  margin: 0 auto
}

.checkout-steps-container {
  display: flex;
  flex-direction: column;
  gap: 0
}

.step-panel {
  background: #fff;
  border-radius: 0;
  box-shadow: 0 2px 10px #0000001a;
  border: 1px solid #e0e0e0;
  margin-bottom: 2rem
}

.step-panel:first-child {
  border-radius: 8px 8px 0 0
}

.step-panel:last-child {
  border-radius: 0 0 8px 8px
}

.step-panel.active,
.step-panel.completed {
  border-radius: 8px
}

.step-header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem 2.5rem;
  cursor: pointer;
  background: #f8f9fa;
  border-bottom: none
}

.step-panel.active .step-header {
  background: #3a536c;
  color: #fff;
  border-radius: 8px 8px 0 0
}

.step-panel.completed .step-header {
  background: #31bc8f;
  color: #fff;
  border-radius: 8px 8px 0 0
}

.step-panel.disabled .step-header {
  background: #f0f0f0;
  color: #999;
  cursor: not-allowed
}

.step-panel.active .step-content-panel,
.step-panel.completed .step-content-panel {
  border-radius: 0 0 8px 8px
}

.step-number-badge {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #ffffffe6;
  color: #1976d2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1.4rem
}

.step-panel.active .step-number-badge,
.step-panel.completed .step-number-badge {
  background: #ffffffe6;
  color: #1976d2
}

.step-title {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0
}

.step-content-panel {
  padding: 1.5rem
}

.phone-input-section {
  margin-bottom: 3rem
}

.phone-input-group {
  display: flex;
  align-items: center;
  border: none;
  border-bottom: 2px solid #e0e0e0;
  margin-bottom: 1.5rem;
  padding-bottom: .5rem;
  transition: border-color .3s ease
}

.phone-input-group:focus-within {
  border-bottom-color: #1976d2
}

.phone-input-group.error {
  border-bottom-color: #f44336
}

.country-code {
  padding: 1.2rem 1.6rem;
  background: transparent;
  border: none;
  font-weight: 600;
  color: #333;
  margin-right: 1rem;
  font-size: 1.4rem;
  flex: 0 0 70px !important;
  border-right: 1px solid #cccccc !important
}

.phone-input {
  flex: 1;
  padding: 1.2rem 0;
  border: none;
  outline: none;
  font-size: 1.4rem;
  background: transparent;
  color: #333
}

.error-message {
  color: #f44336;
  font-size: 1.2rem;
  margin-top: -1rem;
  margin-bottom: 1rem;
  padding-left: 0
}

.otp-section {
  margin-top: 1rem;
  opacity: 0;
  transform: translateY(-10px);
  transition: all .3s ease
}

.otp-section.visible {
  opacity: 1;
  transform: translateY(0)
}

.otp-input {
  width: 100% !important;
  padding: 1.2rem 1.5rem !important;
  border: none;
  border-bottom: 2px solid #e0e0e0;
  border-radius: 0;
  font-size: 1.4rem !important;
  outline: none;
  background: transparent;
  color: #333;
  margin-bottom: 1rem;
  transition: border-color .3s ease;
  text-align: left !important
}

.otp-input:focus {
  border-bottom-color: #1976d2
}

.otp-input-field {
  width: 100% !important;
  padding: 1.2rem 1.5rem !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: .8rem !important;
  font-size: 1.6rem !important;
  text-align: center !important;
  letter-spacing: .3rem !important;
  font-weight: 600 !important;
  background: #fff !important;
  color: #333 !important;
  margin-bottom: 1rem !important;
  outline: none !important;
  transition: all .3s ease !important
}

.otp-input-field:focus {
  border-color: #1976d2 !important;
  box-shadow: 0 0 0 3px #1976d21a !important
}

.otp-input-field::placeholder {
  color: #999 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important
}

.terms-text {
  font-size: 1.2rem;
  color: #666;
  margin-top: 1rem
}

.login-advantages {
  margin-bottom: 3rem;
  position: relative
}

.login-advantages h4 {
  font-size: 1.4rem;
  font-weight: 600;
  color: #666;
  margin-bottom: 1.5rem
}

.advantage-list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  color: #555
}

.advantage-icon {
  color: #1976d2;
  font-size: 1.6rem;
  width: 2rem;
  display: flex;
  align-items: center;
  justify-content: center
}

.address-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2rem
}

.form-group {
  display: flex;
  flex-direction: column
}

.form-input {
  padding: 1.2rem 1.5rem;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  font-size: 1.4rem;
  outline: none;
  transition: border-color .3s ease
}

.form-input:focus {
  border-color: #1976d2
}

.form-input:disabled {
  background: #f0f0f0;
  color: #666
}

.form-input.error {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px #dc35451a
}

.error-message {
  color: #dc3545;
  font-size: 1.2rem;
  margin-top: .5rem;
  display: block
}

.continue-btn {
  width: 100%;
  padding: 1.5rem;
  background: #333;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .3s ease;
  text-transform: uppercase
}

.continue-btn:hover:not(:disabled) {
  background: #555
}

.continue-btn:disabled {
  background: #ccc;
  cursor: not-allowed
}

.cart-summary-sidebar {
  background: #fff;
  border-radius: 8px;
  padding: 2.5rem;
  box-shadow: 0 2px 10px #0000001a;
  position: sticky;
  top: 2rem
}

.summary-title {
  font-size: 2rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 2rem
}

.cart-items-list {
  margin-bottom: 2rem;
  padding: 0
}

.cart-item-summary {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.5rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  background: #fff;
  box-shadow: 0 2px 4px #0000000d;
  position: relative;
  transition: all .3s ease
}

.cart-item-summary:hover {
  box-shadow: 0 4px 8px #0000001a
}

.cart-item-summary:last-child {
  margin-bottom: 0
}

.remove-item-btn {
  position: absolute;
  top: .8rem;
  right: .8rem;
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  background: #f5f5f5;
  color: #666;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 500;
  transition: all .3s ease;
  z-index: 2
}

.remove-item-btn:hover {
  background: #f44;
  color: #fff;
  transform: scale(1.1)
}

.item-image-container {
  width: 6rem;
  height: 6rem;
  border-radius: 6px;
  overflow: hidden;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem;
  flex-shrink: 0
}

.item-image {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.item-details {
  flex: 1;
  min-width: 0
}

.item-name {
  font-size: 1.4rem;
  font-weight: 600;
  color: #333;
  margin: 0 0 .5rem;
  line-height: 1.3
}

.item-description {
  font-size: 1.2rem;
  color: #666;
  margin: 0;
  line-height: 1.4
}

.item-price {
  font-size: 1.4rem;
  font-weight: 600;
  color: #333;
  flex-shrink: 0
}

.item-price-details {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: .5rem
}

.item-original-price-viewcart {
  font-size: 1.4rem;
  color: var(--gray);
  text-decoration: line-through;
  font-weight: 400
}

.item-current-price-viewcart {
  font-size: 1.6rem;
  font-weight: 600;
  color: #1976d2
}

.item-discount-viewcart {
  font-size: 1.2rem;
  color: #27ae60;
  font-weight: 600;
  background: #e8f5e8;
  padding: .2rem .5rem;
  border-radius: .3rem;
  border: 1px solid #d4edda
}

.item-controls-viewcart {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.2rem;
  margin-left: auto
}

.quantity-controls-viewcart {
  display: flex;
  align-items: center;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e5e5e5;
  overflow: hidden
}

.qty-btn-viewcart {
  width: 4.5rem;
  height: 4.5rem;
  border: none;
  background: #f8f9fa;
  color: #333;
  font-size: 2rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}

.qty-btn-viewcart:hover {
  background: #1976d2;
  color: #fff
}

.qty-display-viewcart {
  min-width: 5rem;
  padding: 0 1.5rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  color: #333;
  background: #fff;
  height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: center
}

.item-total-price-viewcart {
  font-size: 1.8rem;
  font-weight: 700;
  color: #333
}

@media (max-width: 767px) {
  .cart-item-summary {
    flex-direction: column;
    gap: 1rem
  }

  .item-controls-viewcart {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-left: 0;
    margin-top: 1rem
  }

  .quantity-controls-viewcart {
    order: 1
  }

  .item-total-price-viewcart {
    order: 2;
    font-size: 1.6rem
  }

  .item-price-details {
    justify-content: flex-start;
    gap: .8rem
  }
}

@media (max-width: 480px) {
  .qty-btn-viewcart {
    width: 2.8rem;
    height: 2.8rem;
    font-size: 1.4rem
  }

  .qty-btn {
    min-width: 6rem;
    padding: 1.2rem
  }

  .qty-display-viewcart {
    min-width: 3.5rem;
    height: 2.8rem;
    font-size: 1.3rem
  }
}

.discount-section {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem
}

.discount-input {
  flex: 1;
  padding: 1.5rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 1.4rem;
  outline: none
}

.apply-btn {
  padding: 1.5rem 2rem;
  background: #3d3d3e;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1.4rem;
  cursor: pointer;
  transition: background .3s ease
}

.apply-btn:hover {
  background: #1565c0
}

.price-breakdown {
  margin-bottom: 2rem
}

.price-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
  font-size: 1.4rem;
  color: #333
}

.price-row.total {
  font-size: 1.6rem;
  font-weight: 600;
  border-top: 1px solid #e0e0e0;
  padding-top: 1rem;
  margin-top: 1rem
}

.price-row span:contains("Free") {
  color: #28a745 !important;
  font-weight: 500
}

.free-text {
  color: #28a745 !important;
  font-weight: 500
}

.gst-fee-row,
.gst-fee-row span {
  font-weight: 700 !important
}

.payment-btn {
  width: 100%;
  padding: 1.5rem;
  background: #333;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .3s ease;
  text-transform: uppercase;
  margin-bottom: 1rem
}

.payment-btn:hover:not(.disabled) {
  background: #555
}

.payment-btn.disabled {
  background: #ccc;
  cursor: not-allowed
}

.payment-warning {
  color: #f44336;
  font-size: 1.3rem;
  text-align: center;
  padding: 1rem;
  background: #ffebee;
  border-radius: 4px;
  border: 1px solid #ffcdd2
}

.completed-step-display {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem
}

.completed-info {
  flex: 1
}

.info-row {
  display: flex;
  gap: 1rem;
  margin-bottom: .8rem;
  font-size: 1.4rem;
  line-height: 1.4
}

.info-row strong {
  min-width: 12rem;
  color: #666;
  font-weight: 500
}

.status-verified {
  color: #4caf50;
  font-weight: 600
}
.delivery-add{
    display:none;
}

.edit-btn {
  background: #1976d2;
  color: #fff;
  border: none;
  padding: .8rem 2rem;
  border-radius: 4px;
  font-size: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  flex-shrink: 0
}

.edit-btn:hover {
  background: #1565c0
}
/*card sucess start*/

/* Checkout Success Page Wrapper */
.checkout-status-page {
  /* min-height: calc(100vh - 120px);  header + footer space */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  background-color: #f8fafc;
}

/* Center container */
.checkout-status-page .container {
  display: flex;
  justify-content: center;
}

/* Success Card */
.status-card.success-card {
     background: #ffffff;
    padding: 25px 26px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    max-width: 486px;
    width: 100%;
    text-align: center;
}

/* Success Icon */
.status-icon {
  font-size: 35px;
  color: #16a34a;
  margin-bottom: 10px;
}

/* Heading */
.status-card h1 {
  font-size: 28px;
  margin-bottom: 10px;
  color: #111827;
}

/* Text */
.status-card p {
  color: #4b5563;
  margin-bottom: 8px;
  font-size: 15px;
}

/* Buttons */
.status-actions {
  margin-top: 25px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

body .checkout-status-page .status-actions .btn {
 background: #2980b9;
    color: #fff;
    border: none;
    padding: 1.1rem 2.4rem;
    border-radius: .5rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .3s ease;
    font-size: 1.6rem;
    text-transform: capitalize;
    white-space: nowrap;
    align-items: center !important;
    display: flex !important;
    padding: 1.3rem 2rem 1.3rem 2rem !important;
}

/*card sucess end*/
@media (max-width: 991px) {
  .cart-layout {
    grid-template-columns: 1fr;
    gap: 3rem
  }

  .cart-summary-sidebar {
    position: static
  }
}

@media (max-width: 767px) {
  .cart-inner-container {
    padding: 0 1rem
  }

  .cart-title {
    font-size: 3rem
  }

  .step-header {
    padding: 1.5rem
  }

  .step-content-panel,
  .cart-summary-sidebar {
    padding: 2rem
  }

  .discount-section {
    flex-direction: column
  }

  .apply-btn {
    width: 100%
  }

  .completed-step-display {
    flex-direction: column;
    gap: 1.5rem
  }

  .info-row {
    flex-direction: column;
    gap: .3rem
  }

  .info-row strong {
    min-width: auto;
    font-size: 1.2rem
  }

  .edit-btn {
    align-self: flex-start;
    padding: .6rem 1.5rem;
    font-size: 1.1rem
  }
}

@media (max-width: 480px) {
  .cart-title {
    font-size: 2.5rem
  }

  .step-header {
    padding: 1rem
  }

  .step-content-panel,
  .cart-summary-sidebar {
    padding: 1.5rem
  }

  .info-row {
    font-size: 1.3rem
  }

  .info-row strong {
    font-size: 1.1rem
  }
}

.signin-page {
  min-height: 100vh;
  background: var(--white)
}

.signin-hero-section {
  background: var(--blue);
  padding: 4rem 0;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.signin-inner-container {
  width: 124rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 2rem
}

.signin-page .form-group input,
.form-group textarea {
  border: none;
  padding-bottom: 0
}

.signin-page .country-code,
.form-group input[type=tel] {
  padding: 0rem 1.5rem
}

.signin-page .phone-input-group {
  padding-bottom: 0;
  border: 1px solid #c5c5c5
}

.signin-hero-content {
  display: flex;
  flex-direction: column;
  align-items: center
}

.signin-title {
  font-size: 4.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--light-blue);
  margin-bottom: 1rem
}

.signin-section {
  padding: 6rem 0;
  background: var(--white)
}

.signin-layout {
  display: flex;
  gap: 6rem;
  align-items: stretch;
  min-height: 70rem
}

.signin-showcase {
  flex: 1;
  position: relative;
  overflow: hidden
}

.showcase-background {
  position: relative;
  height: 100%;
  padding: 0rem;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.signin-showcase .showcase-image {
  background: #d6e7f7;
  border: none;
  box-shadow: none
}

.signin-page .signin-btn {
  padding: 1.6rem;
  background: #313131
}

.showcase-content {
  position: relative;
  z-index: 2;
  color: var(--white)
}

.showcase-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.2
}

.showcase-subtitle {
  font-size: 1.8rem;
  margin-bottom: 3rem;
  opacity: .9
}

.showcase-features {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 3rem
}

.feature-btn {
  background: #ffffff26;
  color: var(--white);
  padding: 1.2rem 2rem;
  border-radius: 2.5rem;
  font-size: 1.4rem;
  font-weight: 600;
  border: 2px solid rgba(255, 255, 255, .2);
  transition: all .3s ease;
  text-align: left;
  cursor: pointer;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px)
}

.feature-btn:hover {
  background: #ffffff40;
  border-color: #fff6;
  transform: translate(5px)
}

.showcase-image {
  text-align: center;
  margin-top: 2rem;
  height: 54rem !important
}

.showcase-image img {
  max-width: 48rem;
  width: 100%;
  height: auto;
  border-radius: 1rem
}

.signin-form-container {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center
}

.signin-form-wrapper {
  width: 100%;
  max-width: 52rem;
  padding: 6rem;
  background: var(--white);
  border-radius: 2rem;
  box-shadow: 0 10px 40px #0000001a
}

.form-header {
  text-align: center;
  margin-bottom: 3rem
}

.form-title {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--black80);
  margin-bottom: 1rem
}

.form-subtitle {
  font-size: 1.6rem;
  color: var(--gray);
  margin: 0
}

.signin-form {
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: .8rem
}

.form-label {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black80)
}

.form-input {
  padding: 1.5rem !important;
  border: 2px solid #e5e5e5;
  border-radius: 1rem;
  font-size: 1.4rem !important;
  transition: all .3s ease;
  background: var(--white);
  color: var(--black)
}

.form-input:focus {
  outline: none;
  border-color: var(--skyblue);
  box-shadow: 0 0 0 3px #1a73e81a
}

.form-input::placeholder {
  color: var(--gray80)
}

.password-input-container {
  position: relative
}

.password-input {
  padding-right: 5rem
}

.password-toggle {
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 1.8rem;
  cursor: pointer;
  color: var(--gray);
  transition: color .3s ease
}

.password-toggle:hover {
  color: var(--skyblue)
}

.form-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem
}

.remember-me {
  display: flex;
  align-items: center;
  gap: .8rem
}

.remember-me input[type=checkbox] {
  width: 1.8rem;
  height: 1.8rem;
  accent-color: var(--skyblue)
}

.remember-me label {
  font-size: 1.4rem;
  color: var(--black80);
  cursor: pointer
}

.forgot-password-link {
  font-size: 1.4rem;
  color: var(--skyblue);
  text-decoration: none;
  font-weight: 600;
  transition: color .3s ease
}

.forgot-password-link:hover {
  color: #1557b0;
  text-decoration: underline
}

.signin-btn {
  padding: 1.6rem;
  background: var(--skyblue);
  color: var(--white);
  border: none;
  border-radius: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px
}

.signin-btn:hover {
  background: #3498db;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #1a73e84d
}

.divider {
  position: relative;
  text-align: center;
  margin: 2rem 0
}

.divider:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #e5e5e5
}

.divider span {
  background: var(--white);
  padding: 0 2rem;
  color: var(--gray);
  font-size: 1.4rem
}

.google-signin-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.6rem;
  background: var(--white);
  color: var(--black80);
  border: 2px solid #e5e5e5;
  border-radius: 1rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}

.google-signin-btn:hover {
  background: #f8f9fa;
  border-color: var(--skyblue);
  transform: translateY(-2px)
}

.google-icon {
  font-size: 2rem
}

.signup-link {
  text-align: center;
  margin-top: 3rem
}

.signup-link p {
  font-size: 1.5rem;
  color: var(--gray);
  margin: 0
}

.signup-link a {
  color: var(--skyblue);
  text-decoration: none;
  font-weight: 600;
  transition: color .3s ease
}

.signup-link a:hover {
  color: #1557b0;
  text-decoration: underline
}

.phone-input-group {
  display: flex;
  align-items: center;
  border: 2px solid #e5e5e5;
  border-radius: 1rem;
  overflow: hidden;
  transition: all .3s ease
}

.phone-input-group:focus-within {
  border-color: var(--skyblue);
  box-shadow: 0 0 0 3px #1a73e81a
}

.phone-input-group.error {
  border-color: #f44336
}

.signin-page .country-code {
  padding: 1.5rem;
  background: #f8f9fa;
  border-right: 1px solid #e5e5e5;
  font-weight: 600;
  color: var(--black80);
  font-size: 1.6rem;
  min-width: 6rem;
  text-align: center
}

.phone-input {
  flex: 1;
  padding: 1.5rem;
  border: none;
  outline: none;
  font-size: 1.6rem;
  background: var(--white);
  color: var(--black)
}

.phone-input::placeholder {
  color: var(--gray80)
}

.mobile-display {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 1rem;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--black80)
}

.edit-btn {
  background: transparent;
  border: 2px solid var(--skyblue);
  color: var(--skyblue);
  padding: .8rem 1.5rem;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  
  
}

.edit-btn:hover {
  background: var(--skyblue);
  color: var(--white)
}

.otp-input {
  width: 100% !important;
  padding: 1.5rem !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 1rem !important;
  font-size: 1.6rem !important;
  text-align: center !important;
  letter-spacing: .5rem !important;
  font-weight: 600 !important;
  background: var(--white) !important;
  color: var(--black) !important;
  transition: all .3s ease !important
}

.otp-input:focus {
  border-color: var(--skyblue) !important;
  box-shadow: 0 0 0 3px #1a73e81a !important;
  outline: none !important
}

.resend-section {
  text-align: center;
  margin-top: 2rem
}

.resend-section p {
  font-size: 1.4rem;
  color: var(--gray);
  margin: 0
}

.resend-btn {
  background: transparent;
  border: none;
  color: var(--skyblue);
  font-weight: 600;
  cursor: pointer;
  margin-left: .5rem;
  font-size: 1.4rem;
  text-decoration: underline
}

.resend-btn:hover {
  color: #1557b0
}

.terms-text {
  font-size: 1.3rem;
  color: var(--gray80);
  text-align: center;
  margin-top: 2rem;
  line-height: 1.6
}

.success-info {
  background: #f0f8ff;
  border-radius: 1rem;
  padding: 2rem;
  margin-bottom: 3rem;
  border-left: 4px solid var(--skyblue)
}

.success-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.5rem
}

.success-item:last-child {
  margin-bottom: 0
}

.status-verified {
  color: #28a745;
  font-weight: 600
}

.action-buttons {
  display: flex;
  gap: 1.5rem;
  margin-top: 3rem
}

.dashboard-btn,
.logout-btn {
  flex: 1;
  padding: 1.6rem;
  border-radius: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-align: center;
  text-decoration: none;
  display: block
}

.dashboard-btn {
  background: var(--skyblue);
  color: var(--white);
  border: none
}

.dashboard-btn:hover {
  background: #1557b0;
  transform: translateY(-2px)
}

.logout-btn {
  background: transparent;
  color: #dc3545;
  border: 2px solid #dc3545
}

.logout-btn:hover {
  background: #dc3545;
  color: var(--white)
}

.login-advantages {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e5e5
}

.login-advantages h4 {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--black80);
  margin-bottom: 1.5rem
}

.advantage-list {
  list-style: none;
  padding: 0;
  margin: 0
}

.advantage-list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: 1.4rem;
  color: var(--gray)
}

.advantage-icon {
  font-size: 1.6rem
}

.terms-notice {
  text-align: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e5e5
}

.terms-notice p {
  font-size: 1.3rem;
  color: var(--gray80);
  margin: 0;
  line-height: 1.6
}

.terms-notice a {
  color: var(--skyblue);
  text-decoration: none;
  font-weight: 500
}

.terms-notice a:hover {
  text-decoration: underline
}

@media (max-width: 1199px) {
  .signin-layout {
    gap: 4rem
  }

  .showcase-title {
    font-size: 3rem
  }

  .signin-form-wrapper {
    padding: 3rem
  }
}

@media (max-width: 991px) {
  .signin-layout {
    flex-direction: column;
    gap: 4rem
  }

  .signin-showcase {
    min-height: 50rem
  }

  .signin-form-container {
    width: 100%;
    max-width: 50rem;
    margin: 0 auto
  }
}

@media (max-width: 767px) {
  .signin-hero-section {
    padding: 3rem 0
  }

  .signin-title {
    font-size: 3rem
  }

  .signin-section {
    padding: 4rem 0
  }

  .signin-showcase {
    padding: 3rem 2rem;
    min-height: 40rem
  }

  .showcase-title {
    font-size: 2.5rem
  }

  .showcase-subtitle {
    font-size: 1.6rem
  }

  .showcase-image img {
    max-width: 52rem
  }

  .signin-form-wrapper {
    padding: 2.5rem 2rem
  }

  .form-title {
    font-size: 2rem
  }

  .form-options {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start
  }
}

@media (max-width: 480px) {
  .signin-hero-section {
    padding: 2rem 0
  }

  .signin-title {
    font-size: 2.5rem
  }

  .signin-showcase {
    padding: 2rem 1.5rem;
    min-height: 5rem;
    display: none
  }

  .signin-page {
    min-height: 80vh
  }

  .showcase-title {
    font-size: 2rem
  }

  .showcase-image img {
    max-width: 39rem
  }

  .signin-form-wrapper {
    padding: 2rem 1.5rem
  }

  .form-input,
  .signin-btn,
  .google-signin-btn {
    font-size: 1.5rem
  }
}

.dashboard-page {
  font-family: Poppins, sans-serif;
  min-height: 100vh;
  background: #f8f9fa
}

.dashboard-container {
  display: flex;
  max-width: 1400px;
  margin: 0 auto;
  padding: 2rem;
  gap: 3rem;
  min-height: calc(100vh - 200px)
}

.dashboard-nav-icon img {
  filter: grayscale(100%) brightness(90%) contrast(69%)
}

.dashboard-nav-item.active .dashboard-nav-icon img {
  filter: brightness(0) invert(1) !important
}

.dashboard-sidebar {
  flex: 0 0 280px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px #00000014;
  height: fit-content;
  position: sticky;
  top: 2rem
}

.dashboard-profile-section {
  padding: 2rem;
  text-align: center;
  border-bottom: 1px solid #e9ecef
}

.dashboard-user-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3388bd, #357abd);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.6rem;
  font-weight: 500;
  color: #fff;
  margin: 0 auto 1rem;
  text-transform: uppercase
}

.dashboard-user-info h3 {
  margin: 0 0 .5rem;
  font-size: 1.8rem;
  font-weight: 600;
  color: #2c3e50
}

.dashboard-user-info p {
  margin: 0;
  font-size: 1.4rem;
  color: #6c757d
}

.dashboard-nav {
  padding: 1rem 0
}

.dashboard-nav-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.dashboard-nav-list li {
  margin: 0
}

.dashboard-nav-item {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 1.6rem 2rem;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: all .3s ease;
  font-size: 1.5rem;
  color: #6c757d;
  gap: 1rem;
  border-radius: 0
}

.dashboard-nav-item:hover {
  background: #f8f9ff;
  color: #4a90e2
}

.dashboard-nav-item.active {
  background: #51abe3;
  color: #fff;
  font-weight: 600
}

.dashboard-nav-item.logout-item {
  color: #dc3545;
  border-top: 1px solid #e9ecef;
  margin-top: 1rem;
  background: #ffdada
}

.dashboard-nav-item.logout-item:hover {
  background: #f8d7da;
  color: #721c24
}

.dashboard-nav-icon {
  font-size: 1.8rem;
  width: 24px;
  text-align: center
}

.dashboard-nav-text {
  font-weight: 500
}

.dashboard-main-content {
  flex: 1;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px #00000014;
  padding: 0;
  overflow: hidden
}

.dashboard-content-section {
  padding: 3rem
}

.dashboard-content-header {
  margin-bottom: 3rem;
  border-bottom: 1px solid #e9ecef;
  padding-bottom: 2rem
}

.dashboard-content-header h2 {
  margin: 0 0 .8;
  font-size: 1.8rem;
  font-weight: 600;
  color: #2c3e50
}

.dashboard-content-header p {
  margin: 0;
  font-size: 1.5rem;
  color: #6c757d
}

.profile-card {
  background: #f2f8ff;
  border-radius: 12px;
  padding: 3rem;
  text-align: center
}

.profile-avatar {
  margin-bottom: 2rem
}

.avatar-circle {
  display: none !important;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4a90e2, #357abd);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.6rem;
  font-weight: 700;
  color: #fff;
  margin: 0 auto;
  text-transform: uppercase
}

.info-group,
.form-group {
  margin-bottom: 2rem
}

.info-group label,
.form-group label {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: .8rem
}

.info-value {
  font-size: 1.6rem;
  color: #2c3e50;
  padding: 1.2rem;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e9ecef
}

.dashboard-input {
  width: 100%;
  padding: 1.2rem;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-size: 1.6rem;
  transition: border-color .3s ease;
  background: #fff;
  height: 50px;
  box-sizing: border-box
}

.dashboard-input[type=date],
.dashboard-input[type=time] {
  cursor: pointer
}

.dashboard-input:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px #4a90e21a
}

.dashboard-input.disabled {
  background: #f8f9fa;
  color: #6c757d;
  cursor: not-allowed
}

.form-group small {
  display: block;
  margin-top: .5rem;
  font-size: 1.2rem;
  color: #6c757d
}

.dashboard-edit-btn,
.dashboard-save-btn,
.dashboard-cancel-btn,
.dashboard-shop-btn,
.dashboard-demo-btn,
.dashboard-submit-btn {
  padding: 1.2rem 2.4rem;
  border-radius: 8px;
  font-size: 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center
}

.dashboard-edit-btn {
  background: #2b6991;
  color: #fff;
  border: none;
  margin-top: 2rem
}

.dashboard-edit-btn:hover {
  background: #2b6991;
  transform: translateY(-2px)
}

.dashboard-save-btn {
  background: #28a745;
  color: #fff;
  border: none;
  margin-right: 1rem
}

.dashboard-save-btn:hover {
  background: #218838
}

.dashboard-cancel-btn {
  background: transparent;
  color: #6c757d;
  border: 2px solid #6c757d
}

.dashboard-cancel-btn:hover {
  background: #6c757d;
  color: #fff
}

.dashboard-shop-btn,
.dashboard-demo-btn {
  background: #4a90e2;
  color: #fff;
  border: none
}

.dashboard-shop-btn:hover,
.dashboard-demo-btn:hover {
  background: #357abd
}

.dashboard-submit-btn {
  background: #17a2b8;
  color: #fff;
  border: none
}

.dashboard-submit-btn:hover {
  background: #138496
}

.form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem
}

.empty-state {
  text-align: center;
  padding: 4rem 2rem
}

.empty-icon {
  font-size: 4rem;
  margin-bottom: 1rem
}

.empty-state h3 {
  margin: 0 0 1rem;
  font-size: 2rem;
  color: #495057
}

.empty-state p {
  margin: 0 0 2rem;
  font-size: 1.5rem;
  color: #6c757d
}

.demo-booking-form {
  max-width: 100%;
  margin: 0 auto
}

.demo-form {
  background: #f2f8ff;
  border-radius: 12px;
  padding: 2rem
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-bottom: 1rem;
}

.form-group {
  margin-bottom: 2rem
}

.form-group label {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: .8rem
}

.dashboard-input.error,
.dashboard-textarea.error {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px #dc35451a
}

.error-text {
  display: block;
  color: #dc3545;
  font-size: 1.2rem;
  margin-top: .5rem
}

.product-selection {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  max-height: 400px;
  overflow-y: auto;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  padding: 1rem
}

.product-option {
  display: flex;
  align-items: center;
  padding: 1.5rem;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  cursor: pointer;
  transition: all .3s ease;
  background: #fff
}

.product-option:hover {
  border-color: #4a90e2;
  background: #f8f9ff
}

.product-option.selected {
  border-color: #4a90e2;
  background: #f8f9ff;
  box-shadow: 0 2px 8px #4a90e21a
}

.product-checkbox {
  margin-right: 1.5rem
}

.product-checkbox input[type=checkbox] {
  width: 18px;
  height: 18px;
  cursor: pointer
}

.product-image {
  width: 60px;
  height: 50px;
  margin-right: 1.5rem;
  padding: .5rem !important;
  display: flex;
  align-items: center;
  justify-content: center
}

.product-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain
}

.product-name {
  font-size: 1.6rem;
  font-weight: 500;
  color: #2c3e50
}

.book-demo-submit-btn {
  background: #4a90e2;
  color: #fff;
  border: none;
  padding: 1.5rem 3rem;
  border-radius: 8px;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  width: 100%
}

.book-demo-submit-btn:hover {
  background: #357abd;
  transform: translateY(-2px)
}

.book-demo-submit-btn:disabled {
  background: #6c757d;
  cursor: not-allowed;
  transform: none
}

.demo-success-message {
  color: #28a745;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 1.5rem;
  padding: 1rem;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 8px;
  text-align: center
}

.help-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem
}

.help-card {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 2.5rem;
  text-align: center
}

.help-card h3 {
  margin: 0 0 1rem;
  font-size: 1.8rem;
  color: #2c3e50
}

.help-card p {
  margin: 0;
  font-size: 1.4rem;
  color: #6c757d;
  line-height: 1.6
}

.about-content {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #495057
}

.feedback-form {
  max-width: 600px
}

.dashboard-textarea {
  width: 100%;
  padding: 1.5rem;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-size: 1.5rem;
  font-family: inherit;
  resize: vertical;
  min-height: 150px;
  margin-bottom: 2rem
}

.dashboard-textarea:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px #4a90e21a
}

@media (max-width: 991px) {
  .dashboard-container {
    flex-direction: column;
    padding: 1rem;
    gap: 2rem
  }

  .dashboard-sidebar {
    flex: none;
    position: static
  }

  .dashboard-profile-section {
    padding: 1.5rem
  }

  .dashboard-user-avatar {
    width: 60px;
    height: 60px;
    font-size: 2rem
  }

  .dashboard-nav-item {
    padding: 1rem 1.5rem;
    font-size: 1.4rem
  }

  .dashboard-content-section,
  .profile-card {
    padding: 2rem
  }

  .avatar-circle {
    width: 100px;
    height: 100px;
    font-size: 3rem
  }
}

@media (max-width: 768px) {
  .dashboard-container {
    padding: .5rem
  }

  .dashboard-content-section {
    padding: 1.5rem
  }

  .dashboard-content-header h2 {
    font-size: 2rem
  }

  .profile-card {
    padding: 1.5rem
  }

  .avatar-circle {
    width: 80px;
    height: 80px;
    font-size: 2.4rem
  }

  .form-actions {
    flex-direction: column
  }

  .help-section {
    grid-template-columns: 1fr
  }

  .demo-form {
    padding: 2rem;
    gap: 0
  }

  .form-row {
    grid-template-columns: 1fr;
    gap: 0rem
  }

  .product-option {
    padding: 1rem
  }

  .product-image {
    width: 50px;
    height: 50px;
    margin-right: 1rem
  }

  .product-name {
    font-size: 1.4rem
  }
}

@media (max-width: 480px) {
  .dashboard-user-info h3 {
    font-size: 1.6rem
  }

  .dashboard-user-info p {
    font-size: 1.2rem
  }

  .dashboard-nav-item {
    font-size: 1.3rem;
    padding: .8rem 1rem
  }

  .dashboard-content-header h2 {
    font-size: 1.8rem
  }

  .dashboard-content-header p {
    font-size: 1.3rem
  }
}

.App .surveillance-page .btn {
  background-color: #33668d
}

.App .surveillance-page .btn:not(.owl-dot):not(.owl-dot span) {
  border-radius: .8rem !important;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  font-size: 1.4rem !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding-right: 4rem !important
}

.surveillance-page {
  width: 100%;
  overflow-x: hidden
}

.help-feature.headline-features {
  background: none;
  border-radius: 0;
  color: #fff;
  font-size: 2.6rem;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  font-weight: 700
}

.surveillance-banner {
  position: relative;
  min-height: 35vh;
  background: #9fd6fd;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center
}

.surveillance-banner .banner-title {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .3)
}

.surveillance-banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../../images/security-banner.png) center/cover;
  opacity: .3;
  z-index: 1
}

.banner-content {
  max-width: 80rem;
  margin: 0 auto;
  padding: 4rem 2rem
}

.banner-title {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 2px
}

.banner-subtitle {
  font-size: 4.8rem;
  line-height: 1.6;
  opacity: .9;
  max-width: 60rem;
  margin: 0 auto
}

.surveillance-offer {
  padding: 4rem 0;
  background: #d0f6ff
}

.offer-content {
  display: flex;
  align-items: center;
  gap: 3rem;
  min-height: 40rem;
  justify-content: center;
  width: 100%;
  vertical-align: middle;
  margin: 0 auto
}

.offer-left {
  flex: 1;
  max-width: fit-content;
}

.offer-title {
  font-size: 4.2rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 2rem;
  color: #2d3748
}

.offer-subtitle {
  font-size: 1.6rem;
  color: #718096;
  margin-bottom: 3rem;
  line-height: 1.6
}

.offer-features {
  margin-bottom: 4rem
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
  color: #4a5568
}

.check-icon {
  flex-shrink: 0
}

.offer-buttons {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap
}

.btn {
  padding: 1.5rem 3rem;
  border-radius: .8rem;
  font-size: 1.4rem;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center
}

.surveillance-page .how-it-works-main-title {
  font-size: 4.2rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: #1a1a1a;
  margin-bottom: 4rem
}

.primary-btn {
  background: #667eea;
  color: #fff
}

.primary-btn:hover {
  background: #5a67d8;
  transform: translateY(-2px)
}

.secondary-btn {
  background: transparent;
  color: #667eea;
  border: 2px solid #667eea
}

.secondary-btn:hover {
  background: #667eea;
  color: #fff
}

.offer-right,
.mobile-app-preview {
  display: flex;
  justify-content: center;
  align-items: center
}

.app-screen-image {
  width: 30rem;
  height: auto;
  max-height: 55rem;
  object-fit: contain
}

.surveillance-services {
  padding: 8rem 0 3rem;
  background: #fff
}

.services-content {
  max-width: 100%;
  margin: 0 auto
}

.services-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4rem
}

.section-title {
  font-size: 4.2rem;
  font-weight: 600;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0;
  text-align: left;
  border: none
}

.services-subtitle {
  max-width: 80rem;
  text-align: left
}

.services-subtitle p {
  font-size: 1.6rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 1.5rem
}

.see-all-link {
  font-size: 1.4rem;
  color: #000;
  text-decoration: none;
  font-weight: 500
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4rem
}

.service-card {
  background: #f2f2f2;
  padding: 4rem 3rem;
  border-radius: 2rem;
  position: relative;
  transition: all .3s ease;
  min-height: 25rem;
  color: #333
}

.service-card.dark {
  background: #d1eafb;
  color: #333
}

.service-icon {
  width: 5rem;
  height: 5rem;
  margin-bottom: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .8rem
}

.service-icon.green,
.service-icon.dark-green {
  background: #5dade2
}

.icon-cube {
  width: 2.5rem;
  height: 2.5rem;
  background: #fff;
  border-radius: .4rem
}

.service-card.dark .icon-cube {
  background: #fff
}

.service-icon-font {
  font-size: 2.5rem;
  color: #fff
}

.service-card h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  color: inherit
}

.service-card p {
  font-size: 1.4rem;
  line-height: 1.6;
  color: inherit;
  opacity: .8;
  margin-bottom: 2rem
}

.service-arrow {
  position: absolute;
  bottom: 3rem;
  right: 3rem;
  font-size: 2rem;
  font-weight: 700
}

.surveillance-help {
  padding: 0 4rem 6rem;
  background: #fff
}

.help-grid {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10rem;
  width: 80%
}

.surveillance-page .help-card {
  background: #fff;
  border-radius: 12px;
  padding: 2.5rem;
  text-align: center;
  position: relative;
  height: 50rem;
  overflow: hidden
}

.help-image {
  position: relative;
  width: 100%;
  height: 100%
}

.help-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 5rem
}

.help-features-overlay {
  position: absolute;
  bottom: 4rem;
  left: 4rem;
  right: 4rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: fit-content;
  max-width: 70%
}

.help-feature {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  background: #fffffff2;
  padding: 1.2rem 2rem;
  border-radius: 2.5rem;
  font-size: 1.6rem;
  font-weight: 400;
  color: #1a1a1a;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  width: fit-content;
  min-width: 35rem;
  max-width: 35rem;
  text-align: left
}

.feature-check {
  width: 2.4rem;
  height: 2.4rem;
  background: #5dade2;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
  flex-shrink: 0
}

.surveillance-how-it-works {
  padding: 8rem 0;
  background: #edffff
}

.surveillance-comparison-table {
  padding: 6rem 0;
  background: #fff
}

.comparison-table-container {
  max-width: 100rem;
  margin: 0 auto;
  overflow-x: auto
}

.surveillance-comparison-table-main {
  width: 100%;
  border-collapse: collapse;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 5px 20px #0000001a
}

.comparison-table-header {
  background: linear-gradient(135deg, #87ceeb, #5dade2)
}

.comparison-table-cell {
  padding: 2.5rem 3rem;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  vertical-align: middle
}

.normal-cctv-header {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #11345a;
  line-height: 1.2;
  background: linear-gradient(135deg, #95d9ff, #a8e0ff) !important;
  border-right: 1px solid rgba(255, 255, 255, .2)
}

.corelens-header {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #11345a;
  line-height: 1.2;
  background: linear-gradient(135deg, #95d9ff, #e1f4ff) !important
}

.comparison-table-row {
  border-bottom: 1px solid #e8f4fd
}

.comparison-table-row:last-child {
  border-bottom: none
}

.normal-cctv-cell {
  background: #f8fbff;
  color: #2c3e50;
  font-weight: 400;
  border-right: 1px solid #e8f4fd
}

.corelens-cell {
  background: #fff;
  color: #2c3e50;
  font-weight: 400
}

.comparison-table-row:nth-child(2n) .normal-cctv-cell {
  background: #f0f8ff
}

.comparison-table-row:nth-child(2n) .corelens-cell {
  background: #f8fbff
}

.surveillance-page .how-it-works-section {
  padding: 10rem 0
}

.how-it-works-main-title {
  text-align: center;
  font-size: 4.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6rem;
  line-height: 1.2;
  text-align: left
}

.flip-cards-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0rem
}

.flip-card {
  background-color: transparent;
  width: 100%;
  height: 32rem;
  perspective: 1000px
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform .6s;
  transform-style: preserve-3d
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg)
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 1.5rem;
  box-shadow: 0 5px 20px #00000014;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 2rem
}

.flip-card-front {
  background: #fff;
  color: #2c3e50;
  justify-content: space-between
}

.flip-card-back {
  background: #3498db;
  color: #fff;
  transform: rotateY(180deg)
}

.vector-icon-large {
  width: 12rem;
  height: 12rem;
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  flex-shrink: 0
}

.flipcord-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  padding: 2rem 0;
  text-align: center
}

.vector-svg-large {
  width: 8rem;
  height: 8rem;
  object-fit: contain
}

.flip-card-title {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.2
}

.flip-card-description {
  font-size: 1.4rem;
  line-height: 1.5;
  opacity: .8;
  text-align: center
}

.flip-card-back h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #fff
}

.flip-card-back p {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #fff;
  opacity: .9
}

@media (max-width: 1200px) {
  .flip-cards-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem
  }

  .how-it-works-main-title {
    font-size: 3rem
  }

  .vector-icon-large {
    width: 10rem;
    height: 10rem
  }

  .vector-svg-large {
    font-size: 4rem
  }

  .flip-card {
    height: 30rem
  }

  .flipcord-details {
    padding: 1.5rem 0
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem
  }

  .service-card {
    padding: 3rem 2.5rem;
    min-height: 22rem
  }

  .service-card h3 {
    font-size: 1.8rem
  }

  .service-card p {
    font-size: 1.3rem
  }

  .help-grid {
    gap: 6rem;
    width: 85%
  }

  .surveillance-page .help-card {
    height: 45rem;
    padding: 2rem
  }

  .help-features-overlay {
    bottom: 3rem;
    left: 3rem;
    right: 3rem;
    width: 75%
  }

  .help-feature {
    padding: 1rem 1.5rem;
    font-size: 1.3rem
  }
}

@media (max-width: 1024px) {
  .flip-cards-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem
  }

  .flip-card {
    height: 36rem
  }

  .vector-icon-large {
    width: 14rem;
    height: 14rem;
    margin-bottom: 1rem
  }

  .vector-svg-large {
    width: 10rem;
    height: 10rem
  }

  .flip-card-title {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
    line-height: 1.3
  }

  .flip-card-description {
    font-size: 1.6rem;
    line-height: 1.5
  }

  .flip-card-back h3 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem
  }

  .flip-card-back p {
    font-size: 1.6rem;
    line-height: 1.5
  }

  .surveillance-services {
    padding: 6rem 0
  }

  .services-header {
    flex-direction: column;
    text-align: center;
    gap: 2rem;
    margin-bottom: 4rem
  }

  .section-title {
    font-size: 4rem;
    text-align: center
  }

  .services-subtitle {
    text-align: center;
    max-width: 90%;
    margin: 0 auto
  }

  .services-subtitle p {
    font-size: 1.8rem;
    line-height: 1.6
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem
  }

  .service-card {
    padding: 3rem 2rem;
    min-height: 24rem
  }

  .service-card h3 {
    font-size: 2.2rem
  }

  .service-card p {
    font-size: 1.6rem
  }

  .help-grid {
    gap: 4rem;
    width: 90%
  }

  .surveillance-page .help-card {
    height: 42rem;
    padding: 2rem
  }

  .help-features-overlay {
    bottom: 2.5rem;
    left: 2.5rem;
    right: 2.5rem;
    width: fit-content;
    max-width: 80%
  }

  .help-feature {
    padding: 1rem 1.5rem;
    font-size: 1.5rem;
    min-width: 27rem;
    max-width: 31rem
  }

  .help-feature.headline-features {
    font-size: 2.8rem
  }
}

@media (max-width: 991px) {
  .flip-cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem
  }

  .flip-card {
    height: 38rem
  }

  .how-it-works-main-title {
    font-size: 3.2rem
  }

  .vector-icon-large {
    width: 12rem;
    height: 12rem;
    margin-bottom: 1rem
  }

  .vector-svg-large {
    width: 9rem;
    height: 9rem
  }

  .flip-card-title {
    font-size: 2.2rem;
    margin-bottom: 1.2rem;
    line-height: 1.3
  }

  .flip-card-description {
    font-size: 1.5rem;
    line-height: 1.5
  }

  .flip-card-back h3 {
    font-size: 2.2rem;
    margin-bottom: 1.2rem
  }

  .flip-card-back p {
    font-size: 1.5rem;
    line-height: 1.5
  }

  .flipcord-details {
    padding: 1rem 0
  }

  .services-header {
    flex-direction: column;
    text-align: center;
    gap: 3rem
  }

  .section-title {
    font-size: 3.8rem
  }

  .services-subtitle {
    text-align: center;
    max-width: 100%
  }

  .services-subtitle p {
    font-size: 1.7rem;
    line-height: 1.6
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .service-card {
    padding: 3rem 2.5rem;
    min-height: 20rem
  }

  .service-card h3 {
    font-size: 2.1rem
  }

  .service-card p {
    font-size: 1.5rem
  }

  .help-grid {
    grid-template-columns: 1fr;
    width: 95%;
    gap: 3rem
  }

  .help-feature.headline-features {
    text-align: center;
    font-size: 2.6rem
  }

  .surveillance-page .help-card {
    height: 45rem;
    padding: 2.5rem
  }

  .help-features-overlay {
    bottom: 3rem;
    left: 3rem;
    right: 3rem;
    width: fit-content;
    max-width: 75%
  }
}

@media (max-width: 768px) {
  .surveillance-how-it-works {
    padding: 6rem 0
  }

  .flip-cards-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
    padding: 0 2rem
  }

  .flip-card {
    max-width: 400px;
    margin: 0 auto;
    height: 40rem
  }

  .how-it-works-main-title {
    font-size: 3.5rem;
    line-height: 1.3
  }

  .vector-icon-large {
    width: 12rem;
    height: 12rem;
    margin-bottom: .5rem
  }

  .vector-svg-large {
    width: 9rem;
    height: 9rem
  }

  .flip-card-title {
    font-size: 2.2rem;
    margin-bottom: 1rem;
    line-height: 1.3
  }

  .flip-card-description {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .flip-card-back h3 {
    font-size: 2.2rem;
    margin-bottom: 1rem
  }

  .flip-card-back p {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .flipcord-details {
    padding: .5rem 0;
    gap: .5rem
  }

  .surveillance-services {
    padding: 5rem 0
  }

  .services-content {
    max-width: 95%
  }

  .services-header {
    margin-bottom: 3rem
  }

  .section-title {
    font-size: 3.5rem;
    line-height: 1.3
  }

  .services-subtitle p {
    font-size: 1.7rem;
    line-height: 1.5
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .service-card {
    padding: 3rem 2rem;
    min-height: auto
  }

  .service-card h3 {
    font-size: 2.2rem;
    margin-bottom: 1.2rem
  }

  .service-card p {
    font-size: 1.6rem;
    line-height: 1.5
  }

  .help-grid {
    width: 100%;
    gap: 2rem
  }

  .surveillance-page .help-card {
    height: 40rem;
    padding: 2rem
  }

  .help-features-overlay {
    bottom: 2rem;
    left: 2rem;
    right: 2rem;
    width: fit-content;
    max-width: 85%
  }

  .help-feature {
    padding: .8rem 1.2rem;
    font-size: 1.4rem;
    gap: 1rem;
    min-width: 26rem;
    max-width: 30rem
  }

  .help-feature.headline-features {
    font-size: 2.4rem;
    text-align: center
  }

  .feature-check {
    width: 2rem;
    height: 2rem;
    font-size: 1rem
  }
}

@media (max-width: 1199px) {
  .offer-content {
    gap: 4rem
  }

  .how-it-works-main-title {
    font-size: 4rem
  }

  .surveillance-steps-flow {
    gap: 1.5rem
  }

  .step-circle {
    width: 10rem;
    height: 10rem
  }

  .step-icon {
    font-size: 3rem
  }

  .step-number {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.2rem
  }

  .step-arrow img {
    width: 6rem
  }

  .offer-title {
    font-size: 3.2rem
  }

  .offer-subtitle {
    font-size: 1.5rem
  }

  .feature-item {
    font-size: 1.3rem
  }

  .app-screen-image {
    width: 28rem;
    max-height: 50rem
  }
}

@media (max-width: 991px) {
  .banner-title {
    font-size: 3.6rem
  }

  .offer-content {
    flex-direction: column;
    text-align: center
  }

  .banner-overlay {
    height: auto
  }

  .how-it-works-main-title {
    font-size: 3.5rem
  }

  .surveillance-steps-flow {
    flex-direction: column;
    align-items: center;
    gap: 0rem
  }

  .surveillance-step {
    max-width: 35rem
  }

  .step-arrow {
    transform: rotate(90deg);
    margin: 2rem 0
  }

  .step-arrow img {
    width: 5rem
  }

  .services-header {
    flex-direction: column;
    text-align: center;
    gap: 3rem
  }

  .services-subtitle {
    text-align: left;
    max-width: 100%
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .help-grid {
    grid-template-columns: 1fr;
    width: 100%
  }

  .help-feature.headline-features {
    text-align: left
  }

  .surveillance-page .help-card {
    height: 50rem
  }
}

@media (max-width: 767px) {
  .banner-title {
    font-size: 3.2rem;
    line-height: 1.2
  }

  .banner-subtitle {
    font-size: 1.8rem;
    line-height: 1.5
  }

  .offer-title {
    font-size: 3.2rem;
    line-height: 1.3
  }

  .section-title {
    font-size: 3.2rem
  }

  .how-it-works-main-title {
    font-size: 3.2rem;
    padding: 0 2rem
  }

  .surveillance-how-it-works {
    padding: 6rem 0
  }

  .surveillance-step {
    max-width: 30rem
  }

  .step-circle {
    width: 9rem;
    height: 9rem
  }

  .step-icon {
    font-size: 2.5rem
  }

  .step-number {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1rem
  }

  .step-title {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }

  .step-description {
    font-size: 1.2rem
  }

  .step-arrow img {
    width: 4rem
  }

  .app-screen-image {
    width: 25rem;
    max-height: 40rem
  }

  .offer-buttons {
    flex-direction: column
  }

  .btn {
    width: 100%;
    font-size: 1.6rem;
    padding: 1.8rem 2rem
  }

  .offer-subtitle {
    font-size: 1.6rem;
    line-height: 1.6
  }

  .feature-item {
    font-size: 1.5rem;
    margin-bottom: 1.8rem
  }

  .surveillance-banner,
  .surveillance-offer,
  .surveillance-services {
    padding: 4rem 0
  }

  .service-card {
    padding: 3rem 2rem;
    min-height: auto
  }

  .help-features-overlay {
    bottom: 2rem;
    left: 2rem;
    right: 2rem
  }

  .help-feature {
    padding: 1rem 1.5rem;
    font-size: 1.2rem
  }
}

@media (max-width: 480px) {
  .banner-content {
    padding: 3rem 1.5rem
  }

  .surveillance-page .how-it-works-main-title {
    padding: 0 0 2%
  }

  .banner-title {
    font-size: 2.8rem;
    line-height: 1.2
  }

  .offer-title,
  .section-title {
    font-size: 2.8rem;
    line-height: 1.3
  }

  .how-it-works-main-title {
    font-size: 3.2rem;
    padding: 0;
    margin: 0;
    line-height: 1.3;
    text-align: center;
  }

  .banner-overlay {
    height: auto
  }

  .flip-cards-grid {
    gap: 1.5rem;
    padding: 0 1.5rem
  }

  .flip-card {
    height: 40rem;
    max-width: 380px
  }

  .vector-icon-large {
    width: 14rem;
    height: 14rem;
    margin-bottom: 1rem
  }

  .vector-svg-large {
    width: 10rem;
    height: 10rem
  }

  .flip-card-title {
    font-size: 2.2rem;
    margin-bottom: 1rem;
    line-height: 1.3
  }

  .flip-card-description {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .flipcord-details {
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .8rem
  }

  .flip-card-front,
  .flip-card-back {
    padding: 2.5rem 2rem
  }

  .flip-card-back h3 {
    font-size: 2.2rem;
    margin-bottom: 1.2rem
  }

  .flip-card-back p {
    font-size: 1.5rem;
    line-height: 1.4
  }

  .surveillance-step {
    max-width: 28rem
  }

  .step-circle {
    width: 8rem;
    height: 8rem
  }

  .step-icon {
    font-size: 2rem
  }

  .step-number {
    width: 2rem;
    height: 2rem;
    font-size: .9rem
  }

  .step-title {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 600
  }

  .step-description {
    font-size: 1.4rem
  }

  .step-arrow img {
    display: none
  }

  .app-screen-image {
    width: 22rem;
    max-height: 35rem
  }

  .surveillance-services {
    padding: 4rem 0
  }

  .services-content {
    max-width: 100%
  }

  .section-title {
    font-size: 3.2rem
  }

  .services-subtitle p {
    font-size: 1.6rem
  }

  .service-card {
    padding: 2.5rem 1.5rem;
    min-height: auto
  }

  .service-card h3 {
    font-size: 2rem
  }

  .service-card p {
    font-size: 1.5rem
  }

  .service-icon {
    width: 4rem;
    height: 4rem;
    margin-bottom: 2rem
  }

  .service-icon-font {
    font-size: 2rem
  }

  .help-grid {
    gap: 1.5rem;
    width: 100%
  }

  .surveillance-page .help-card {
    height: 35rem;
    padding: 1.5rem
  }

  .help-features-overlay {
    bottom: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    width: fit-content;
    max-width: 90%;
    gap: 1rem
  }

  .help-feature {
    padding: .8rem 1rem;
    font-size: 1.3rem;
    gap: .8rem;
    min-width: 24rem;
    max-width: 28rem
  }

  .help-feature.headline-features {
    font-size: 2.2rem;
    padding: .5rem 1rem
  }

  .feature-check {
    width: 1.8rem;
    height: 1.8rem;
    font-size: .9rem
  }
}

.testimonials-page {
  font-family: Poppins, sans-serif
}

.testimonials-page .nav-links .active {
  color: #4a90e2;
  font-weight: 600
}

.testimonials-hero {
  position: relative;
  min-height: 40rem;
  background: linear-gradient(#0006, #0009), url(../images/testimonial-banner-corelense_1753275030199.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.testimonials-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #3186bc, #2d3d4821);
  display: flex;
  align-items: center;
  justify-content: center
}

.testimonials-hero-container {
  max-width: 120rem;
  width: 100%;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem
}

.testimonials-hero-content {
  color: #fff;
  text-align: center
}

.testimonials-hero-title {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0rem;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .3)
}

.testimonials-hero-subtitle {
  font-size: 1.8rem;
  font-weight: 400;
  color: #ffffffe6;
  margin-bottom: 0
}

.hero-testimonial-cards {
  display: none
}

.hero-testimonial-card {
  background: #fff;
  border-radius: 2rem;
  padding: 3rem;
  box-shadow: 0 20px 60px #0003;
  max-width: 45rem;
  width: 100%;
  transform: translateY(-10px);
  animation: float 6s ease-in-out infinite
}

@keyframes float {

  0%,
  to {
    transform: translateY(-10px)
  }

  50% {
    transform: translateY(-20px)
  }
}

.hero-card-content {
  text-align: left
}

.hero-card-stars {
  margin-bottom: 2rem
}

.star-rating {
  color: gold;
  font-size: 2rem;
  letter-spacing: .2rem
}

.hero-card-text {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
  margin-bottom: 2.5rem;
  font-style: italic
}

.hero-card-author {
  display: flex;
  align-items: center;
  gap: 1.5rem
}

.hero-author-avatar {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  object-fit: cover
}

.hero-author-info {
  display: flex;
  flex-direction: column
}

.hero-author-name {
  font-size: 1.6rem;
  font-weight: 600;
  color: #333;
  margin-bottom: .3rem
}

.hero-author-title {
  font-size: 1.3rem;
  color: #666
}

.testimonials-main {
  padding: 8rem 0;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef)
}

.testimonials-container {
  max-width: 140rem;
  margin: 0 auto;
  padding: 0 3rem
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 6rem;
  max-width: 130rem;
  margin-left: auto;
  margin-right: auto
}

.testimonial-card {
  background: #fff;
  border-radius: 1.2rem;
  padding: 2rem;
  box-shadow: 0 4px 15px #0000001a;
  transition: all .3s ease;
  border: 1px solid #e8e8e8;
  position: relative;
  overflow: hidden;
  min-height: 20rem
}

.testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px #0000001f
}

.testimonial-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #4a90e2, #3498db)
}

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

.testimonial-verified {
  display: flex;
  justify-content: flex-end
}

.verified-badge {
  background: #e8f4fd;
  color: #193c52;
  padding: .5rem 1rem;
  border-radius: 2rem;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: .5rem
}

.testimonial-rating {
  display: flex;
  align-items: center
}

.testimonial-rating .stars {
  color: gold;
  font-size: 1.8rem;
  letter-spacing: .2rem
}

.testimonial-sec .testimonial-text {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #555;
  margin-bottom: 0rem;
  min-height: auto
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(51, 136, 189, .3)
}

.author-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #f0f0f0
}

.author-info {
  display: flex;
  flex-direction: column
}

.author-name {
  font-size: 1.4rem;
  font-weight: 600;
  color: #333;
  margin-bottom: .3rem
}

.author-title {
  font-size: 1.2rem;
  color: #666
}

.load-more-section {
  text-align: center;
  padding: 4rem 0
}

.load-more-btn {
  background: #2c3e50;
  color: #fff;
  border: none;
  padding: 1.5rem 4rem;
  border-radius: .8rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .1rem
}

.load-more-btn:hover {
  background: #34495e;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px #2c3e504d
}

.load-more-btn:disabled {
  background: #95a5a6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none
}

.testimonial-card.hidden {
  display: none
}

.testimonial-card.fade-in {
  animation: fadeInUp .6s ease forwards
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width: 1400px) {
  .testimonials-hero-container {
    max-width: 100rem
  }

  .testimonials-hero-title {
    font-size: 5.5rem
  }
}

@media (max-width: 1200px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 90rem
  }

  .testimonials-hero-container {
    gap: 4rem
  }

  .testimonials-hero-title {
    font-size: 5rem
  }

  .hero-testimonial-card {
    max-width: 40rem
  }
}

@media (max-width: 991px) {
  .testimonials-hero {
    min-height: 40rem
  }

  .testimonials-hero-container {
    justify-content: center
  }

  .testimonials-hero-title {
    font-size: 4.5rem
  }

  .testimonials-hero-subtitle {
    font-size: 2rem
  }

  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 80rem
  }
}

@media (max-width: 768px) {
  .testimonials-hero {
    min-height: 35rem;
    padding: 4rem 0
  }

  .testimonials-hero-title {
    font-size: 3.5rem
  }

  .testimonials-hero-subtitle {
    font-size: 1.8rem
  }

  .testimonials-main {
    padding: 6rem 0
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }

  .testimonial-card {
    padding: 2rem
  }

  .testimonials-container {
    padding: 0 1.5rem
  }
}

@media (max-width: 576px) {
  .testimonials-hero {
    min-height: 30rem
  }

  .testimonials-hero-title {
    font-size: 3rem
  }

  .testimonials-hero-subtitle {
    font-size: 1.6rem
  }

  .testimonials-hero-container {
    padding: 0 1rem
  }

  .testimonial-card {
    padding: 1.8rem
  }

  .testimonial-text {
    font-size: 1.3rem;
    min-height: auto
  }

  .load-more-btn {
    padding: 1.2rem 3rem;
    font-size: 1.4rem
  }

  .testimonials-container {
    padding: 0 1rem
  }
}

.testimonial-card {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.testimonial-card:hover {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px)
}

.hero-testimonial-card {
  -webkit-animation: float 6s ease-in-out infinite;
  animation: float 6s ease-in-out infinite
}

@-webkit-keyframes float {

  0%,
  to {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
  }

  50% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
  }
}

@supports (-webkit-appearance: none) {
  .testimonials-hero {
    -webkit-background-size: cover;
    background-size: cover
  }
}

@-moz-document url-prefix() {
  .testimonial-card {
    outline: none
  }
}

@supports (-ms-ime-align: auto) {
  .testimonials-grid {
    display: -ms-grid;
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    -ms-grid-rows: auto
  }
}

.track-order-page {
  min-height: 100vh;
  background: #f8f9fa;
  font-family: Poppins, sans-serif
}

.track-order-hero {
  background: var(--blue);
  padding: 4rem 0;
  text-align: center;
  color: #fff
}

.track-order-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem
}

.track-order-title {
  font-size: 4.5rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: var(--light-blue)
}

.track-order-breadcrumb {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff
}

.track-order-breadcrumb span {
  margin: 0 .5rem
}

.track-order-content {
  padding: 6rem 0
}

.track-order-form-wrapper {
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  border-radius: 12px;
  padding: 3rem;
  box-shadow: 0 4px 20px #0000001a
}

.track-order-form {
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.track-order-form-group {
  display: flex;
  flex-direction: column;
  gap: 1rem
}

.track-order-label {
  font-size: 1.6rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: .8rem
}

.track-order-input {
  padding: 1.5rem 2rem;
  border: 1px solid rgb(145 145 145);
  border-radius: 1.2rem;
  font-size: 1.6rem;
  color: #2c3e50;
  transition: all .3s ease;
  background: #fff
}

.track-order-input:focus {
  outline: none;
  border-color: #5dade2;
  box-shadow: 0 0 0 3px #5dade21a
}

.track-order-input::placeholder {
  color: #adb5bd
}

.track-order-btn {
  background: var(--black80) !important;
  color: #fff;
  border: none;
  padding: 1.5rem 3rem;
  border-radius: 8px;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px
}

.track-order-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #3498db4d
}

.track-order-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none
}

.track-order-result {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border-radius: 12px;
  padding: 3rem;
  box-shadow: 0 4px 20px #0000001a
}

.track-order-info-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e9ecef;
  flex-wrap: wrap;
  gap: 2rem
}

.track-order-info-item {
  display: flex;
  align-items: center;
  gap: 1rem
}

.track-order-info-item:first-child {
  flex: 1
}

.track-order-info-icon {
  background: #e3f2fd;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem
}

.track-order-info-content {
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.track-order-info-label {
  font-size: 1.4rem;
  color: #6c757d;
  font-weight: 500
}

.track-order-info-value {
  font-size: 1.8rem;
  font-weight: 700;
  color: #2c3e50
}

.track-order-highlight {
  color: #2c3e50 !important
}

.track-order-info-badge {
  background: #2c3e50;
  color: #fff;
  padding: .8rem 1.5rem;
  border-radius: 20px;
  font-size: 1.4rem;
  font-weight: 600
}

.track-order-tracking-id {
  background: #5dade2
}

.track-order-timeline {
  position: relative;
  margin: 4rem 0
}

.track-order-progress-line {
  position: absolute;
  top: 1rem;
  left: 2rem;
  right: 2rem;
  height: 4px;
  border-radius: 2px;
  z-index: 1
}

.track-order-progress-line-segment {
  display: inline-block;
  width: 25%;
  height: 100%;
  position: relative
}

.track-order-line {
  height: 100%;
  background: #e9ecef;
  border-radius: 2px
}

.track-order-line-completed {
  background: linear-gradient(90deg, #5dade2, #5dade2)
}

.track-order-steps {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2
}

.track-order-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  max-width: 200px
}

.track-order-step-circle {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  border: 3px solid #e9ecef;
  background: #fff;
  font-size: 1.8rem;
  font-weight: 700
}

.track-order-step-completed .track-order-step-circle {
  background: #5dade2;
  border-color: #539ed0
}
.track-order-step-active .track-order-step-circle {
    background: #5dade2;
    color: white;
    border: #539ed0;
}
.track-order-step-offwhite {
  background: #fafafa;
  color: #777;
  border: 1px solid #eee;
  opacity: 0.7;
  filter: grayscale(0.5);
  transition: all 0.3s ease;
}

/* Highlighted step (current order status) */


/* Optional: circle highlight */
.track-order-step-active .track-order-step-circle {
 background: #5dade2;
    color: white;
    border: #539ed0;
}

/* Hover effect (optional) */
.track-order-step-offwhite:hover {
  opacity: 0.85;
}

.track-order-step-check {
  color: #fff;
  font-size: 1.6rem
}

.track-order-step-pending .track-order-step-circle {
  background: #6c757d;
  border-color: #6c757d
}

.track-order-step-pending-icon {
  color: #fff;
  font-size: 1.6rem
}

.track-order-step-content {
  display: flex;
  flex-direction: column;
  align-items: center
}

.track-order-step-icon-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem
}

.track-order-step-icon {
  font-size: 3rem;
  margin-bottom: 1rem
}

.track-order-step-info {
  text-align: center
}

.track-order-step-title {
  font-size: 1.6rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: .5rem
}

.track-order-step-date {
  font-size: 1.3rem;
  color: #6c757d;
  margin: 0
}

.track-order-step-completed .track-order-step-title {
  color: #487ea3
}

.track-order-actions {
  text-align: center;
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid #e9ecef
}

.track-order-new-btn {
  background: transparent;
  color: #5dade2;
  border: 2px solid #5dade2;
  padding: 1.2rem 2.5rem;
  border-radius: 8px;
  font-size: 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}

.track-order-new-btn:hover {
  background: #5dade2;
  color: #fff;
  transform: translateY(-2px)
}

@media (max-width: 768px) {
  .track-order-title {
    font-size: 2.5rem
  }

  .track-order-hero {
    padding: 3rem 0
  }

  .track-order-content {
    padding: 4rem 0
  }

  .track-order-form-wrapper,
  .track-order-result {
    padding: 2rem;
    margin: 0 1rem
  }

  .track-order-info-header {
    flex-direction: column;
    align-items: stretch;
    text-align: center
  }

  .track-order-info-item {
    justify-content: center
  }

  .track-order-steps {
    flex-direction: column;
    gap: 3rem
  }

  .track-order-progress-line {
    display: none
  }

  .track-order-step {
    flex-direction: row;
    text-align: left;
    max-width: none;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 8px
  }

  .track-order-step-circle {
    margin-bottom: 0;
    margin-right: 1.5rem;
    flex-shrink: 0
  }

  .track-order-step-icon-wrapper {
    flex-direction: row;
    gap: 1.5rem
  }

  .track-order-step-icon {
    margin-bottom: 0;
    font-size: 2.5rem
  }

  .track-order-step-info {
    text-align: left
  }
}

@media (max-width: 480px) {
  .track-order-container {
    padding: 0 1rem
  }

  .track-order-title {
    font-size: 2rem
  }

  .track-order-breadcrumb {
    font-size: 1.2rem
  }

  .track-order-form-wrapper,
  .track-order-result {
    padding: 1.5rem
  }

  .track-order-input,
  .track-order-btn,
  .track-order-step-title {
    font-size: 1.4rem
  }

  .track-order-step-date {
    font-size: 1.2rem
  }
}

.not-found-container {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
  background: linear-gradient(135deg, #667eea, #764ba2)
}

.not-found-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  max-width: 1200px;
  width: 100%
}

.not-found-illustration {
  flex: 1;
  max-width: 400px
}

.browser-mockup {
  background: #4a90e2;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 20px 40px #0003;
  transform: perspective(1000px) rotateY(-15deg) rotateX(10deg)
}

.browser-header {
  background: #2c5282;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem
}

.browser-buttons {
  display: flex;
  gap: .5rem
}

.btn {
  width: 12px;
  height: 12px;
  border-radius: 50%
}

.btn.red {
  background: #ff5f56
}

.btn.yellow {
  background: #ffbd2e
}

.btn.green {
  background: #27ca3f
}

.address-bar {
  flex: 1;
  height: 24px;
  background: #fff3;
  border-radius: 12px
}

.browser-content {
  background: #fff;
  padding: 3rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px
}

.error-paper {
  background: #fff;
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px #0000001a;
  text-align: center;
  transform: rotate(-5deg)
}

.error-code {
  font-size: 4rem;
  font-weight: 700;
  color: #667eea;
  margin-bottom: .5rem
}

.sad-face {
  font-size: 2rem;
  color: #666
}

.not-found-text {
  flex: 1;
  max-width: 500px;
  color: #fff
}

.not-found-text h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #fff
}

.not-found-text p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: .9;
  line-height: 1.6
}

.back-home-btn {
  display: inline-block;
  background: #ff6b6b;
  color: #fff;
  padding: 1rem 2rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.1rem;
  transition: all .3s ease;
  box-shadow: 0 4px 15px #ff6b6b4d
}

.back-home-btn:hover {
  background: #ff5252;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #ff6b6b66;
  text-decoration: none;
  color: #fff
}

@media (max-width: 768px) {
  .not-found-content {
    flex-direction: column;
    text-align: center;
    gap: 2rem
  }

  .browser-mockup {
    transform: none;
    max-width: 300px
  }

  .not-found-text h1 {
    font-size: 2rem
  }

  .not-found-text p {
    font-size: 1rem
  }

  .error-code {
    font-size: 3rem
  }
}

@media (max-width: 480px) {
  .not-found-container {
    padding: 1rem 0
  }

  .browser-content {
    padding: 2rem 1rem
  }

  .error-paper {
    padding: 1.5rem
  }

  .not-found-text h1 {
    font-size: 1.5rem
  }
}

* {
  box-sizing: border-box
}

html {
  font-size: 62.5%
}

body {
  font-family: Poppins, sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  margin: 0;
  padding: 0
}

.legal-page,
.contact-page {
  font-family: Poppins, sans-serif
}

.legal-banner-section,
.contact-banner-section {
  background: linear-gradient(135deg, #4a90e2, #357abd)
}
/* ========== ADVANCED DATA TABLE STYLES ========== */

/* Filter Section */
.data-table-filters {
  background: #f8f9fa;
  padding: 2rem;
  border-radius: 8px;
  margin-bottom: 2rem;
  border: 1px solid #e9ecef;
}

.filter-row {
  margin-bottom: 1.5rem;
}

.search-box {
  position: relative;
  display: flex;
  align-items: center;
}

.search-input {
  width: 100%;
  padding: 1rem 1.2rem 1rem 1rem;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 1.4rem;
  transition: border-color 0.3s;
}

.search-input:focus {
  outline: none;
  border-color: #51abe3;
  box-shadow: 0 0 0 3px rgba(81, 171, 227, 0.1);
}

.search-icon {
  position: absolute;
  right: 1.2rem;
  font-size: 1.8rem;
  pointer-events: none;
}

.filter-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
}

.filter-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.filter-group label {
  font-size: 1.3rem;
  font-weight: 600;
  color: #2c3e50;
}

.filter-select {
  padding: 0.8rem 1rem;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 1.3rem;
  background: white;
  cursor: pointer;
  transition: all 0.3s;
}

.filter-select:hover {
  border-color: #51abe3;
}

.filter-select:focus {
  outline: none;
  border-color: #51abe3;
  box-shadow: 0 0 0 3px rgba(81, 171, 227, 0.1);
}

/* Results Summary */
.results-summary {
  font-size: 1.3rem;
  color: #6c757d;
  margin-bottom: 1.5rem;
  padding: 0.5rem 0;
}

/* Responsive Data Table */
.data-table-responsive {
  overflow-x: auto;
  border-radius: 8px;
  border: 1px solid #e9ecef;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
}

.data-table thead {
  background: linear-gradient(135deg, #51abe3 0%, #3d8ac0 100%);
  color: white;
  position: sticky;
  top: 0;
}

.data-table th {
  padding: 1.2rem 1.5rem;
  font-size: 1.3rem;
  font-weight: 600;
  text-align: left;
  border-bottom: 2px solid #2d5a8a;
}

.data-table tbody tr {
  border-bottom: 1px solid #e9ecef;
  transition: background-color 0.2s;
}

.data-table tbody tr:hover {
  background-color: #f8f9ff;
}

.data-table td {
  padding: 1.2rem 1.5rem;
  font-size: 1.4rem;
  color: #2c3e50;
}

/* Column Specific Styles */
.col-order-id {
  font-weight: 600;
  color: #51abe3;
  min-width: 100px;
}

.col-date {
  min-width: 120px;
}

.col-product {
  min-width: 250px;
}

.product-cell {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.product-img {
  width: 50px;
  height: 50px;
  border-radius: 6px;
  object-fit: cover;
  border: 1px solid #e9ecef;
}

.product-name {
  color: #2c3e50;
  font-weight: 500;
}

.col-amount {
  font-weight: 600;
  color: #27ae60;
  min-width: 100px;
}

.col-status {
  min-width: 140px;
}

.col-payment {
  min-width: 110px;
}

/* Status & Payment Badges */
.status-badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
}

.status-order-placed {
  background: #e6ffff;
  color: #0c5460;
}

.status-shipped {
  background: #fff3cd;
  color: #856404;
}

.status-delivered {
  background: #d4edda;
  color: #155724;
}

.status-cancelled {
  background: #f8d7da;
  color: #721c24;
}

.payment-badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
}

.payment-badge.paid {
  background: #d4edda;
  color: #155724;
}

.payment-badge.pending {
  background: #fff3cd;
  color: #856404;
}

.no-results {
  text-align: center;
  padding: 3rem 1.5rem !important;
  color: #6c757d;
  font-size: 1.4rem;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .filter-controls {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
  }

  .data-table th,
  .data-table td {
    padding: 1rem;
    font-size: 1.3rem;
  }

  .product-img {
    width: 40px;
    height: 40px;
  }
}

/* ========== MOBILE-FRIENDLY DATA TABLE CARD LAYOUT ========== */

@media (max-width: 768px) {
  .data-table-responsive {
    overflow-x: visible;
  }

  .data-table {
    width: 100%;
    display: block;
  }

  .data-table thead {
    display: none;
  }

  .data-table tbody {
    display: block;
  }

  .data-table tbody tr {
    display: block;
    margin-bottom: 1.5rem;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  }

  .data-table tbody tr:hover {
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }

  .data-table td {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    padding: 1rem;
    font-size: 1.3rem;
  }

  .data-table td:last-child {
    border-bottom: none;
  }

  .data-table td::before {
    content: attr(data-label);
    font-weight: 600;
    color: #51abe3;
    min-width: 100px;
    font-size: 1.2rem;
  }

  .col-order-id::before {
    content: "Order ID";
  }

  .col-date::before {
    content: "Date";
  }

  .col-product::before {
    content: "Product";
    min-width: 70px;
  }

  .col-amount::before {
    content: "Amount";
  }

  .col-status::before {
    content: "Status";
  }

  .col-payment::before {
    content: "Payment";
  }

  .product-cell {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .product-img {
    width: 45px;
    height: 45px;
  }

  .product-name {
    text-align: left;
    max-width: 150px;
  }
}

@media (max-width: 480px) {
  .data-table-filters {
    padding: 1rem;
  }

  .search-input {
    padding: 0.8rem;
    font-size: 1.2rem;
  }

  .filter-controls {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .filter-group {
    gap: 0.3rem;
  }

  .filter-group label {
    font-size: 1.2rem;
  }

  .filter-select {
    padding: 0.6rem 0.8rem;
    font-size: 1.2rem;
  }

  .data-table tbody tr {
    margin-bottom: 1.2rem;
  }

  .data-table td {
    padding: 0.8rem;
    font-size: 1.2rem;
    flex-wrap: wrap;
  }

  .data-table td::before {
    min-width: fit-content;
    font-size: 1.1rem;
  }

  .col-order-id {
    min-width: 60px;
  }

  .col-date {
    min-width: 70px;
  }

  .col-product {
    min-width: 50px;
  }

  .col-amount {
    min-width: 60px;
  }

  .product-img {
    width: 35px;
    height: 35px;
  }

  .product-name {
    max-width: 120px;
    font-size: 1.2rem;
  }

  .status-badge,
  .payment-badge {
    padding: 0.3rem 0.6rem;
    font-size: 1rem;
  }

  .results-summary {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}

/* ========== PAGINATION STYLES ========== */
.pagination-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 8px;
  gap: 2rem;
}

.pagination-info {
  font-size: 1.3rem;
  color: #6c757d;
  min-width: 200px;
}

.pagination-buttons {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.pagination-btn {
  padding: 0.8rem 1.5rem;
  background: #51abe3;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 1.3rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}

.pagination-btn:hover:not(:disabled) {
  background: #3d8ac0;
  transform: translateY(-2px);
}

.pagination-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
  opacity: 0.6;
}

.page-indicator {
  font-size: 1.3rem;
  font-weight: 600;
  color: #2c3e50;
  min-width: 120px;
  text-align: center;
}

@media (max-width: 768px) {
  .pagination-controls {
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
  }

  .pagination-info {
    text-align: center;
    min-width: auto;
  }

  .pagination-buttons {
    width: 100%;
    justify-content: center;
  }

  .pagination-btn {
    padding: 0.6rem 1.2rem;
    font-size: 1.2rem;
  }

  .page-indicator {
    font-size: 1.2rem;
  }
}

/* ========== DATA TABLE HEADER - TEAL THEME ========== */
.data-table thead {
  background: linear-gradient(135deg, #51abe3 0%, #51abe3 100%);
  color: white;
}

.data-table thead th {
  background: inherit;
  color: white;
  font-weight: 600;
  border: none;
  padding: 1.5rem;
  text-align: left;
  font-size: 1.4rem;
}

/* ========== PAGINATION STYLES ========== */
.pagination-section {
  margin-top: 2rem;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}

.pagination-info {
  font-size: 1.3rem;
  color: #6c757d;
  font-weight: 500;
  min-width: 200px;
}

.pagination-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.pagination-btn {
  padding: 0.8rem 1.5rem;
  background: #51abe3;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 1.3rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}

.pagination-btn:hover:not(:disabled) {
  background: #3da5a5;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(74, 184, 184, 0.3);
}

.pagination-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
  opacity: 0.6;
}

.page-numbers {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.page-number-btn {
  width: 40px;
  height: 40px;
  border: 2px solid #51abe3;
  background: white;
  color: #4ab8b8;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 1.2rem;
}
.login-name {
    font-weight: 600;
    font-size: 1.4rem;
    color: #333;
} 
.page-number-btn:hover {
  background: #4ab8b8;
  color: white;
}
.address-name {
    font-weight: 600;
    font-size: 1.4rem;
    color: #333;
    margin-bottom: 0.3rem;
}
.address-phone {
    font-size: 1.2rem;
    color: #666;
    margin-bottom: 0.8rem;
}
.address-text {
    font-size: 1.3rem;
    color: #333;
    line-height: 1.5;
    margin-bottom: 0.3rem;
}
.address-location {
    font-size: 1.2rem;
    color: #666;
}
.completed-address-display {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
    padding: 1.5rem 0;
}

.edit-btn {
    background: transparent;
    border: 2px solid var(--skyblue);
    color: var(--skyblue);
    padding: .8rem 1.5rem;
    border-radius: .8rem;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s ease;
}
/* Saved Addresses Section */
.saved-addresses-section {
  margin-bottom: 2rem;
}

.address-radio-card {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1.2rem;
  border: 1px solid #abd6f7;
  border-radius: 8px;
  margin-bottom: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.address-radio-card:hover {
  border-color: #1976d2;
  background: #f8f9ff;
}

.address-radio-card input[type="radio"] {
  width: 2rem;
  height: 2rem;
  margin-top: 0.3rem;
  cursor: pointer;
  flex-shrink: 0;
}

.address-card-content {
  flex: 1;
}

.address-card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.8rem;
  flex-wrap: wrap;
}

.address-card-name {
  font-weight: 600;
  font-size: 1.3rem;
  color: #333;
}

.address-card-type {
  background: #f0f0f0;
  padding: 0.3rem 0.8rem;
  border-radius: 4px;
  font-size: 1rem;
  color: #666;
}

.address-card-phone {
  font-size: 1.2rem;
  color: #666;
}

.address-card-body {
  margin-top: 0.5rem;
}

.address-street {
  font-size: 1.2rem;
  color: #333;
  line-height: 1.4;
}

.address-city-zip {
  font-size: 1.1rem;
  color: #666;
  margin-top: 0.3rem;
}

.view-all-addresses-btn {
display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 1rem;
    background: #abd6f7;
    color: #18191a;
    border: 1px solid #abd6f7;
    border-radius: 8px;
    font-size: 1.2rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;

}

.view-all-addresses-btn:hover {
  background: #2b6991;
  color: white;
}

/* Add New Address Section */
.add-new-address-section {
  margin: 2rem 0;
  padding: 1.5rem 0;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}

.add-new-address-btn {
  width: 100%;
  padding: 1.2rem;
  background: transparent;
  color: #1976d2;
  border: 2px solid #1976d2;
  border-radius: 8px;
  font-size: 1.3rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}

.add-new-address-btn:hover {
  background: #1976d2;
  color: white;
}

/* Add Address Form */
.add-address-form-wrapper {
  background: #f1f8ff;
  padding: 2rem;
  border-radius: 8px;
  margin-bottom: 0.5rem;
}

.add-address-title {
  font-size: 1.4rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}
.cancel-btn {
    flex: 1;
    padding: 1.2rem;
    background: transparent;
    color: #666;
    border: 2px solid #e0e0e0;
    border-radius: 4px;
    font-size: 1.3rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
}
.add-address-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cancel-btn {
    background: #2b6991;
    color: white;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.address-type-section {
  margin: 1.5rem 0;
}

.address-type-section label {
  display: block;
  font-weight: 600;
  color: #333;
  margin-bottom: 1rem;
  font-size: 1.2rem;
}

.radio-group {
  display: flex;
  gap: 2rem;
}

.radio-option {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  cursor: pointer;
}

.radio-option input[type="radio"] {
  width: 1.5rem;
  height: 1.5rem;
  cursor: pointer;
}

.radio-option label {
  margin-bottom: 0;
  font-weight: 400;
  font-size: 1.2rem;
  color: #333;
  cursor: pointer;
}

.form-buttons {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.save-address-btn {
  flex: 1;
  padding: 1.2rem;
  background: #333 !important;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1.3rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.save-address-btn:hover:not(:disabled) {
  background: #555;
}

.save-address-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
}

.cancel-btn {
  flex: 1;
  padding: 1.2rem;
  background: transparent;
  color: #666;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  font-size: 1.3rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.cancel-btn:hover {
  border-color: #666;
  color: #333;
}

.profile-loading {
  padding: 1.2rem;
  background: #f0f8ff;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  color: #1976d2;
  font-size: 1.3rem;
}

@media (max-width: 600px) {
  .form-row {
    grid-template-columns: 1fr;
  }
  
  .radio-group {
    flex-direction: column;
    gap: 1rem;
  }
  
  .form-buttons {
    flex-direction: column;
  }
  
  .address-card-header {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .completed-login-display {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  
  .change-btn {
    width: 100%;
  }
  
  .completed-address-display {
    flex-direction: column;
  }
  
  .edit-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .cart-title {
    font-size: 2.5rem;
  }

  .step-header {
    padding: 1rem;
  }

  .step-content-panel {
    padding: 1.5rem;
  }

  .cart-summary-sidebar {
    padding: 1.5rem;
  }

  .info-row {
    font-size: 1.3rem;
  }

  .info-row strong {
    font-size: 1.1rem;
  }
}
.page-number-btn.active {
  background: #51abe3;
  color: white;
}
.completed-login-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 0;
}
.login-phone {
    font-size: 1.2rem;
    color: #666;
}
.change-btn {
    padding: 0.8rem 2rem;
    background: transparent;
    color: #1976d2;
    border: 1px solid #1976d2;
    border-radius: 4px;
    font-size: 1.2rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
}
@media (max-width: 768px) {
  .pagination-section {
    flex-direction: column;
    gap: 1rem;
  }

  .pagination-info {
    text-align: center;
    min-width: auto;
    width: 100%;
  }

  .pagination-controls {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }

  .page-numbers {
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }
}
/*Data table end style*/