/* Desktop - Default (3 Columns) */
.footer-row-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Forces exactly 3 equal columns */
  gap: 40px;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
}

/* Ensure the brand section stays left-aligned on desktop */
.footer-grid {
  display: flex;
  flex-direction: column;
  text-align: left;
  align-items: center;
}

.footer-grid h4 {
  margin-bottom: 25px;
  font-weight: 700;
  position: relative;
  padding-bottom: 10px;
}

/* Responsive Arrow & List Alignment */
.footer-list,
.footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left; /* Keeps text left-aligned on desktop */
}

.footer-list li,
.footer-contact li {
  margin-bottom: 12px;
  display: flex;
  align-items: center; /* Vertically centers the arrow with the text */
}

.footer-list li a,
.footer-contact li a {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  transition: 0.3s;
}

/* Tablet & Mobile Screens (991px and below) */
@media (max-width: 991px) {
  .footer-row-grid {
    grid-template-columns: 1fr; /* Stack columns */
    gap: 40px;
    text-align: center;
  }

  .footer-grid {
    align-items: center; /* Centers items like logo and headings */
  }

  .footer-grid p {
    text-align: center !important;
  }

  /* Keep the list items centered but the arrows next to them */
  .footer-list,
  .footer-contact {
    display: inline-block; /* Allows the container to shrink to text width */
    text-align: left; /* Keeps the arrow to the left of the text */
  }

  .footer-social {
    justify-content: center !important;
    width: 100%;
  }
}
@media (max-width: 575px) {
  .subfooter .container p {
    padding-bottom: 52px;
    font-size: 15px;
  }
} /* Desktop only - Fix Contact Us alignment */
@media (min-width: 992px) {
  .footer-grid:nth-child(3) {
    align-items: flex-start;
    text-align: left;
  }

  .footer-grid:nth-child(3) h4 {
    text-align: left;
    width: 100%;
  }

  .footer-grid:nth-child(3) .footer-contact {
    text-align: left;
  }
}
/* Desktop only - Move Contact Us slightly right */
@media (min-width: 992px) {
  .footer-grid:nth-child(3) {
    margin-left: 50px; /* adjust value (30px / 50px) based on need */
  }
}
@media (min-width: 992px) {
  .footer-grid:nth-child(2) {
    align-items: center; /* keep center position */
  }

  .footer-grid:nth-child(2) .footer-list {
    width: 200px; /* important fix */
    margin: 0 auto; /* center the block */
  }

  .footer-grid:nth-child(2) h4 {
    width: 200px; /* same width as list */
    margin: 0 auto 20px;
    text-align: left;
  }
}
/* Move Explore Us slightly to right (Desktop only) */
@media (min-width: 992px) {
  .footer-grid:nth-child(2) {
    transform: translateX(40px); /* adjust 20px / 40px if needed */
  }
}
.subfooter a.footer-link {
  color: #ffffff !important; /* default color */
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease;
}

.subfooter a.footer-link:hover {
  color: #2384bd !important; /* hover color */
}

.map-container {
  width: 100%;
  height: 500px;
  margin-bottom: 40px;
  padding: 0 130px;
  border-radius: 10px;
}

.map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 10px;
}

/* Tablet */
@media (max-width: 1024px) {
  .map-container {
    padding: 0 60px;
    height: 350px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .map-container {
    padding: 0 20px;
    height: 300px;
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .map-container {
    padding: 0 10px;
    height: 250px;
  }
}

/* one big image card */
/* .about-us .img-wrap img {
  width: 100%;
  height: 640px;
  object-fit: cover;
}

@media (max-width: 992px) {
  .about-us .img-wrap img {
    height: 400px;
  }
}

@media (max-width: 576px) {
  .about-us .img-wrap img {
    height: 250px;
  }
} */

/* 4 image card  */
.about-us .img-wrap img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  height: 320px;
}

@media (max-width: 991px) {
  .about-us .img-wrap img {
    height: 280px;
  }
}

@media (max-width: 575px) {
  .about-us .img-wrap img {
    height: 220px;
  }
}

/* 📱 MOBILE RESPONSIVE */
@media (max-width: 768px) {
  .cdxshopping-cart .cart-tbl th,
  .cdxshopping-cart .cart-tbl td {
    font-size: 13px;
    padding: 10px 8px;
    min-width: 120px;
  }

  .cdxshopping-cart .cart-tbl .product-imgwrap img {
    width: 60px;
  }

  .cdxshopping-cart .pro-quantity .form-control {
    width: 40px;
    text-align: center;
    padding: 5px;
  }

  .cdxshopping-cart .input-group-text {
    padding: 5px 8px;
  }

  .cdxshopping-cart .cartbtn-group {
    flex-direction: column;
    gap: 10px;
  }

  .cdxshopping-cart .group-btn {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .cdxshopping-cart .group-btn .btn {
    width: 100%;
  }

  .cdxshopping-cart .cartbtn-group > div {
    width: 100%;
  }
}

/* 📲 EXTRA SMALL DEVICES */
@media (max-width: 480px) {
  .cdxshopping-cart .cart-tbl th,
  .cdxshopping-cart .cart-tbl td {
    font-size: 12px;
    min-width: 100px;
  }

  .cdxshopping-cart .cart-tbl .product-imgwrap img {
    width: 50px;
  }
}

/* @media (max-width: 375px) {
  .fashion-slider .fashion-contain > div {
    text-align: center;
    padding: 70px 50px;
    border-radius: 10px;
    background-color: rgba(10, 31, 45, 0.8);
  }
}
@media (max-width: 425px) {
  .fashion-slider .fashion-contain > div {
    text-align: center;
    padding: 80px 50px;
    border-radius: 10px;
    background-color: rgba(10, 31, 45, 0.8);
  }
} */

@media (max-width: 576px) {
  .bg-primary {
    background-image: url("./assets/images/dress/mobile_banner_1.png") !important;
  }
}
@media (max-width: 1199px) {
  .menu-list .close-menu {
    padding: 11px 20px;
    display: block;
  }
}
/* Cart buttons - mobile fix */
@media (max-width: 576px) {
  .cartbtn-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .cartbtn-group .btn,
  .cartbtn-group .group-btn .btn {
    display: block;
    width: 100%;
    text-align: center;
  }

  .cartbtn-group .group-btn {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }

  .cartbtn-group > div {
    width: 100%;
  }
}
.cdxshopping-cart .group-btn .btn:nth-child(n + 2) {
  margin-left: 0px;
}

/* ===== LOGIN & REGISTER - NO SCROLL FIX ===== */

/* html, body {
  height: 100%;
  overflow: hidden;
} */

/* Login page fix */
.auth-main {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Register page fix */
.authentication-wrap section {
  padding: 0 !important;
  margin: 0 !important;
  height: 100vh;
  display: flex;
  align-items: center;
}

.authentication-wrap .container {
  height: auto !important;
}

.authentication-wrap .row {
  justify-content: center;
  width: 100%;
}

/* Both pages - box compact */
.codex-authbox {
  padding: 30px 50px !important;
}

.codex-authbox .auth-header {
  margin-bottom: 15px !important;
}

.codex-authbox .auth-header .codex-brand {
  margin-bottom: 8px !important;
}

.codex-authbox .auth-header .codex-brand img {
  width: 65px !important;
}

.codex-authbox .auth-header h3 {
  font-size: 17px !important;
  margin-bottom: 3px !important;
}

.codex-authbox .auth-header h6 {
  font-size: 12px !important;
}

.codex-authbox .form-group {
  margin-bottom: 8px !important;
}

.codex-authbox .form-label {
  font-size: 12px !important;
  margin-bottom: 3px !important;
}

.codex-authbox .form-control {
  font-size: 13px !important;
  padding: 6px 10px !important;
}

.codex-authbox .btn {
  margin-top: 10px !important;
  font-size: 15px !important;
  padding: 8px 20px !important;
}

.codex-authbox .auth-footer {
  margin-top: 12px !important;
}

.codex-authbox .auth-footer .auth-with {
  margin-bottom: 10px !important;
  font-size: 13px !important;
}

.codex-authbox .auth-footer .login-list li a {
  padding: 8px 15px !important;
  font-size: 13px !important;
}

.codex-authbox .auth-footer .login-list li + li {
  margin-left: 10px !important;
}

/* Remember me & Forgot password - mobile fix */
@media (max-width: 576px) {
  .codex-authbox .auth-remember {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
  }

  .codex-authbox .auth-remember .form-check {
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    margin: 0 !important;
  }

  .codex-authbox .auth-remember .form-check-label {
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .codex-authbox .auth-remember .f-pwd {
    font-size: 12px !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
}

.dropdown-menu .greeting {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--bs-body-color);
  pointer-events: none;
}
/* Greeting */
.dropdown-greeting {
  padding: 12px 20px 8px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  pointer-events: none;
}

.dropdown-divider-item {
  border-top: 1px solid #f0f0f0;
  margin-top: 6px;
  padding-top: 6px;
}

.dropdown-divider-item a {
  color: #e74c3c !important;
}
li.dropdownmenu .dropdownitem-list {
  min-width: 180px;
}

li.dropdownmenu .dropdownitem-list li,
li.dropdownmenu .dropdownitem-list li a,
.dropdown-greeting {
  white-space: nowrap;
}
.productslide5 .swiper-slide {
  max-width: 280px !important;
}

.profile-avatar-wrap {
  position: relative;
  width: 70px;
  margin: 0 auto 12px;
}

.camera-icon {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  background: #3a9fd8;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 11px;
  border: 2px solid #fff;
  transition: 0.2s;
}

.camera-icon:hover {
  background: #2d86bb;
}
.mobile-only-icon {
  display: none !important;
}

@media (max-width: 576px) {
  .mobile-only-icon {
    display: block !important;
  }

  #user-dropdown-wrap .dropdown-action {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
  }

  #user-dropdown-wrap .mobile-label {
    display: block !important;
    font-size: 10px !important;
    color: #333 !important;
  }

  #user-dropdown-wrap .profile-avatar {
    width: 24px !important;
    height: 24px !important;
  }
}

#home-product-slider {
  overflow: hidden !important;
}

#home-product-slider .swiper-slide {
  box-sizing: border-box;
}

/* Deal rotation dots */
.deal-dots span:hover {
  background: rgba(255, 255, 255, 0.7) !important;
}
/* ── New Arrivals Grid ── */
.home-product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

@media (min-width: 576px) {
  .home-product-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
}
@media (min-width: 992px) {
  .home-product-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}
@media (min-width: 1400px) {
  .home-product-grid { grid-template-columns: repeat(5, 1fr); gap: 24px; }
}

.home-product-grid .product-boxwrap {
  opacity: 0;
  transform: translateY(16px);
  animation: cardFadeIn 0.5s ease forwards;
}

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

/* subtle hover lift, layered on top of existing product-boxwrap styles */
.home-product-grid .product-boxwrap {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  border-radius: 12px;
  overflow: hidden;
}
.home-product-grid .product-boxwrap:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}
.home-product-grid .product-imgwrap img {
  transition: transform 0.5s ease;
}
.home-product-grid .product-boxwrap:hover .product-imgwrap img {
  transform: scale(1.06);
}

/* View All button */
.view-all-wrap {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.btn-view-all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 36px;
  border: 2px solid #2d86bb;
  border-radius: 50px;
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #2d86bb;
  background: transparent;
  text-decoration: none;
  transition: all 0.35s ease;
}

.btn-view-all i {
  width: 16px;
  height: 16px;
  transition: transform 0.35s ease;
}

.btn-view-all:hover {
  background: #2d86bb;
  color: #fff;
}
.btn-view-all:hover i {
  transform: translateX(4px);
}

/* Skeleton grid (reuses existing skeleton card styles) */
.home-product-grid .skeleton-card {
  border-radius: 12px;
  overflow: hidden;
}