/* LEWU Page-Specific Stylesheet */

/* Note: Core variables, base body styles, header navigation, and footer styles have been moved to common.css */

/* Hero banner */
.banner-gradient {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 380px;
  background: linear-gradient(135deg, #5c258d 0%, #4389a2 100%);
}

.banner-gradient-2 {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 380px;
  background: linear-gradient(135deg, #1f4068 0%, #162447 100%);
}

.banner-comic-fan {
  position: relative;
  width: 100%;
  max-width: 450px;
  height: 250px;
  perspective: 1000px;
}

.banner-comic-card {
  position: absolute;
  bottom: 10px;
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s eas2e;
}

.banner-comic-card:hover {
  z-index: 10 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.3) !important;
  transform: translateY(-15px) scale(1.05) !important;
}

.cover-rotate-left {
  left: 10%;
  z-index: 1;
  transform: rotate(-12deg) translateY(10px);
}

.cover-rotate-center {
  left: 33%;
  z-index: 3;
  transform: translateY(0);
}

.cover-rotate-right {
  left: 58%;
  z-index: 2;
  transform: rotate(12deg) translateY(10px);
}

.banner-controls {
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
}

.banner-controls .cursor-pointer {
  opacity: 0.75;
  transition: opacity 0.2s;
}

.banner-controls .cursor-pointer:hover {
  opacity: 1;
}

/* 首页轮播按素材和卡片内容自然计算高度，避免百分比高度循环撑满视口。 */
.bannerSwiper,
.productSwiper {
  height: auto;
}

.bannerSwiper .swiper-wrapper,
.productSwiper .swiper-wrapper,
.bannerSwiper .swiper-slide,
.productSwiper .swiper-slide {
  height: auto;
}

.home-banner-slide,
.home-banner-link {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.home-banner-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover
}

.home-banner-overlay {
  position: absolute;
  top:0;
  bottom: 0;
  height: 100%;
  left: clamp(24px, 6vw, 92px);
  z-index: 2;
  width: min(660px, calc(100% - 48px));
  color: #ffffff;
  justify-content: center;
  align-content: center

}

.home-banner-link::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  content: "";
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.52) 0%, rgba(15, 23, 42, 0.24) 45%, rgba(15, 23, 42, 0) 100%);
  pointer-events: none;
}

.home-banner-title {
  margin: 0 0 12px;
  color: inherit;
  font-size: clamp(28px, 4.1vw, 43px);
  font-weight: 700;
  line-height: 1.1;
}

.home-banner-subtitle {
  max-width: 590px;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
  line-height: 1.55;
}

.home-banner-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 22px;
  color: #111827;
  background: #ffffff;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* Product cards */
.product-card {
  overflow: visible;
  border-radius: 12px !important;
  background: #ffffff;
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease;
}

.product-card:hover {
  box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.1), 0 8px 8px -5px rgba(0, 0, 0, 0.04) !important;
  transform: translateY(-8px);
}

.product-card-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.product-img-wrapper {
  overflow: hidden;
  position: relative;
  background-color: #e7e7e7;
  transition: background-color 0.3s ease;
}

.product-card:hover .product-img-wrapper {
  background-color: #f1f3f5 !important;
}

.product-svg {
  width: auto;
  max-width: 100%;
  height: 100%;
  transition: transform 0.4s ease;
}

.product-image {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1.4;
  object-fit: cover;
}

/* 动态商品主图优先完整展示，兼容方图、竖图和透明背景素材。 */
.home-product-image {
  aspect-ratio: 1 / 1.4;
  object-fit: cover;
  background-color: #ffffff;
}

.home-product-empty {
  display: grid;
  place-content: center;
  gap: 0.75rem;
  min-height: 320px;
  border: 1px dashed var(--border-color);
  border-radius: 6px;
  background-color: #ffffff;
}

.home-product-empty i {
  font-size: 2rem;
}

/* 首页活动暂无商品时保持现有卡片边框、底色和紧凑高度，整块仍可进入活动列表。 */
.home-promotion-empty {
  min-height: 112px;
  border: 1px dashed var(--border-color);
  border-radius: 6px;
  background-color: #ffffff;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.home-promotion-empty:hover {
  border-color: var(--danger-color);
  color: var(--danger-color) !important;
}

.product-card:hover .product-svg {
  transform: scale(1.04);
}

/* 商品卡片不再继承 h-100 的视口高度，轮播只保留真实内容所需空间。 */
.productSwiper .product-card {
  height: auto !important;
}

.product-title {
  margin-bottom: 0.8rem;
  color: var(--text-dark);
  font-family: var(--font-inter);
  font-size: 0.85rem !important;
  font-weight: 600;
  line-height: 1.35;
}

.text-truncate-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.wishlist-btn {
  z-index: 6;
  border: 1px solid #e7a6a6;
  transition: transform 0.2s ease, background-color 0.2s;
}

.wishlist-btn:hover {
  background-color: #fff1f2 !important;
  transform: scale(1);
  color: #dc3545;
  border: 1px solid #dc3545;
}

.cart-add-btn {
  position: relative;
  z-index: 6;
  box-shadow: 0 4px 6px -1px rgba(220, 53, 69, 0.25);
  transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1);
}

.cart-add-btn:hover {
  box-shadow: 0 6px 12px -1px rgba(220, 53, 69, 0.35);
  transform: scale(1.1);
}

.discount-badge {
  z-index: 5;
  padding: 0.35em 0.6em;
  font-family: var(--font-outfit);
  font-size: 0.75rem;
  font-weight: 700;
}

/* Product carousel */
.product-carousel-wrapper .product-swiper-prev,
.product-carousel-wrapper .product-swiper-next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 40%;
  z-index: 10;
  width: 40px;
  height: 40px;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  color: var(--text-dark);
  background-color: #ffffff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  transform: translateY(-50%);
  transition: all 0.2s ease;
}

.product-carousel-wrapper .product-swiper-prev:hover,
.product-carousel-wrapper .product-swiper-next:hover {
  border-color: var(--primary-color);
  color: #ffffff;
  background-color: var(--primary-color);
  box-shadow: 0 10px 15px -3px rgba(220, 53, 69, 0.3);
}

.product-carousel-wrapper .product-swiper-prev {
  left: -20px;
}

.product-carousel-wrapper .product-swiper-next {
  right: -20px;
}

.product-carousel-wrapper .swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed !important;
  pointer-events: none;
}

.productSwiper {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  margin-top: -15px !important;
  margin-bottom: -15px !important;
}

/* Comics publisher block */
.comics-box {
  margin-bottom: 2rem;
  padding: 2rem 1.2rem;
  background:url(../images/comics-bg.jpg) no-repeat left center #2e4053e6;

  background-size: cover;
}

.comics-box img {
  width: 115px;
  height: 45px;
  object-fit: cover;
}

.comics-box .is-active img {
  filter: invert(10%) sepia(50%) saturate(200%);
}

.bg-navy-blue {
  background-color: var(--navy-blue) !important;
}

.bg-navy-dark {
  background-color: var(--navy-dark) !important;
}

.brand-logos-bar {
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.publisher-logo-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  text-align: center;
}

.publisher-logo-button:focus-visible {
  border-radius: 999px;
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 6px;
}

.brand-badge-circle {
  background-color: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.brand-badge-circle:hover,
.publisher-logo-button.is-active .brand-badge-circle {
  border-color: rgba(255, 255, 255, 0.3) !important;
  background-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 16px -2px rgba(0, 0, 0, 0.3);
  transform: translateY(-4px);
}

.publisher-logo-button .fs-8 {
  color: #fafafafa !important;
}

.publisher-logo-button.is-active .fs-8 {
  color: #ffffc1 !important;
}

/* Comics Box Scroll Layout Components */
.comics-scroll-container-outer {
  position: relative;
  width: 100%;
}

.comics-scroll-wrapper {
  width: 100%;
}

.comics-scroll-btn-right {
  display: none;
}

/* Sections */
.section-title {
  color: var(--text-dark);
  font-family: var(--font-outfit);
  font-weight: 700;
}

.section-subtitle {
  font-family: var(--font-inter);
}

.exclusives-banner {
  position: relative;
  background-position: center;
  background-size: cover;
  padding:2rem  1.5rem;
  margin-bottom: 3rem;
}
.exclusives-banner-box{display: flex;justify-content: space-between;align-items: center;}
.exclusives-banner-box h2{font-size: 2.2rem}
.exclusives-banner-box p{font-size: 1rem}

.exclusives-products .product-image {
  aspect-ratio: 1 / 1;
}

.trust-box {
  padding: 3rem 1.5rem;
  border-radius: 12px;
  background: #f3f5f6;
}

.trust-box h2 {
  text-align: center;
}

.trust-box h4 {
  font-size: 0.9rem;
  text-align: center;
}

.trust-box p {
  margin-bottom: 1.5rem;
  color: #64727d;
  font-size: 0.9rem;
  text-align: left;
}

.benefit-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.benefit-card:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.03) !important;
  transform: translateY(-4px);
}

.benefit-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}



/* Swiper and fixed controls */
.swiper-scrollbar {
  bottom: 0 !important;
  height: 4px !important;
  background: rgba(0, 0, 0, 0.04) !important;
}

.swiper-scrollbar-drag {
  background: rgba(220, 53, 69, 0.35) !important;
}

.swiper-scrollbar-drag:hover {
  background: rgba(220, 53, 69, 0.6) !important;
}


.banner{margin-top: 3rem}
.banner-slide{display: flex;justify-content: center;align-items: center;}
.banner-left{width: 45%}
.banner-left h2{font-size: 2.5rem;color:#fff;font-weight: 600}
.banner-left p{font-size: 1.5rem;color: #fff}
.banner-right{width: 45%}
.banner-right img{width: 100%;aspect-ratio:21 / 12;object-fit: cover}
.filters h4{font-size: 1.1rem}

.product-hot .rounded-circle{width:45px;height:45px}
.breadcrumb-item a{text-decoration:none;color:#444}
.about-banner{width: 100%;background:#000}
.about-banner img{width: 100%;object-fit: cover;height:335px;}
.about-box{max-width:1400px;margin:1rem auto;padding: 0 1rem}
.about-title{font-size:2rem;padding:1rem 0 0;font-weight:700;text-transform: uppercase;}
.about-content h2{font-size:1.2rem;marign:.5rem 0}

.about-content{font-size:1rem;line-height:1.9;color:#444;padding:1rem 0}

/* Large desktop */
@media (min-width: 1600px) {
  .container {
    max-width: 1500px !important;
  }
}

/* Desktop and up */
@media (min-width: 992px) {
  .price-container .text-danger {
    font-size: 1.2rem !important;
  }
}

/* Tablet and desktop */
@media (min-width: 768px) {
  .mega-menu {
    width: 820px !important;
    left: -50px;
  }

  .flex-nowrap-md {
    flex-wrap: nowrap !important;
  }
}

/* Tablet and smaller */
@media (max-width: 991.98px) {
  .top-space {
    padding-top: 0.75rem;
    padding-bottom: 0.2rem;
  }

  .news-releases-section {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .section-subtitle {
    font-size: 0.85rem !important;
    /*margin-bottom: 0.5rem !important;*/
  }

  #categoriesNav {
    overflow: hidden;
    position: relative;
    width: 100%;
  }

  #categoriesNav .navbar-nav {
    gap: 0.1rem;
    padding: 0.5rem 0 0.9rem !important;
    transition: opacity 0.22s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
    white-space: normal !important;
    will-change: opacity, transform;
  }

  #categoriesNav.is-submenu-open .navbar-nav {
    opacity: 0;
    pointer-events: none;
    transform: translate3d(-18px, 0, 0);
  }

  #categoriesNav .nav-link {
    padding: 0.75rem 0 !important;
  }

  #categoriesNav .nav-category-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
  }

  #categoriesNav .nav-category-toggle::after {
    display: inline-block;
    margin-left: auto;
    color: #94a3b8;
    font-family: "Font Awesome 6 Free";
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1;
    content: "\f054";
  }

  #categoriesNav .nav-item.dropdown:hover>.nav-category-menu {
    display: none !important;
  }

  #categoriesNav .nav-item.dropdown:hover>.nav-category-menu.show,
  #categoriesNav .nav-category-menu.show {
    display: none !important;
  }

  .nav-category-menu {
    width: 100%;
    min-width: 100%;
    margin-top: 0 !important;
    padding: 0.65rem 0;
    border-radius: 4px !important;
  }

  .nav-category-menu .dropdown-item {
    white-space: normal;
  }

  .mobile-category-drawer {
    display: block;
    overflow-y: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    height: var(--mobile-category-available-height, 100dvh);
    min-height: 0;
    background-color: #ffffff;
    overscroll-behavior: contain;
    pointer-events: none;
    transform: translate3d(100%, 0, 0);
    transition: none;
    visibility: hidden;
    will-change: transform;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-category-drawer.is-open {
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  .mobile-category-drawer-header {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 1rem 1.1rem 0.9rem;
    border-bottom: 1px solid var(--border-color);
    background-color: #ffffff;
  }

  .mobile-category-back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 0;
    color: var(--primary-color);
    background: transparent;
    font-family: var(--font-inter);
    font-size: 0.9rem;
    font-weight: 700;
    padding: 0;
  }

  .mobile-category-drawer-title {
    margin: 0.7rem 0 0;
    color: var(--text-dark);
    font-family: var(--font-inter);
    font-size: 1rem;
    font-weight: 700;
  }

  .mobile-category-drawer-list {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    list-style: none;
    margin: 0;
    padding: 0.85rem 0;
  }

  .mobile-category-drawer-list a {
    display: block;
    padding: 0.75rem 1.1rem;
    color: #64727d;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
  }

  .mobile-category-drawer-list a:hover,
  .mobile-category-drawer-list a:focus {
    color: #2f3a42;
    background-color: #f4f6f8;
  }

  .mega-menu {
    width: calc(100vw - 2rem);
    min-width: auto;
  }

  .banner-gradient,
  .banner-gradient-2 {
    min-height: 340px;
  }

  .banner-comic-fan {
    max-width: 380px;
  }
  .comics-box{padding:1rem!important;}
  .comics-box img {
    width: 15vw;
    height: auto;
    object-fit: cover;
  }
  .publisher-logo-button .fs-8 {
    color: #fafafafa !important;
    font-size: .85rem
  }
  .trust-box {
    padding: 1.5rem 0.5rem;
    border-radius: 12px;
    background: #f3f5f6;
  }
  .product-title{height: auto}
  .end-menu{display: none;}
}


/* Phone */
@media (max-width: 767.98px) {
  .banner {
    /* 手机端隐藏首页 Banner，避免占用首屏空间。 */
    display: none;
    margin-top: 1rem;
    margin-bottom: 1.5rem !important;
  }

  .home-banner-slide,
  .home-banner-link {
    height: 260px;
  }

  .home-banner-overlay {
    left: 18px;
    width: calc(100% - 36px);
  }

  .home-banner-title {
    margin-bottom: 8px;
    font-size: 24px;
  }

  .home-banner-subtitle {
    margin-bottom: 14px;
    font-size: 13px;
    line-height: 1.45;
  }

  .home-banner-button {
    min-height: 34px;
    padding: 8px 16px;
    font-size: 12px;
  }

  .shop-category-dropdown {
    display: none !important;
  }

  .mega-menu {
    width: calc(100vw - 32px) !important;
    left: -20px !important;
  }

  .product-carousel-wrapper .product-swiper-prev,
  .product-carousel-wrapper .product-swiper-next {
    top: 40%;
    width: 32px;
    height: 32px;
  }

  .product-carousel-wrapper .product-swiper-prev {
    left: -5px;
  }

  .product-carousel-wrapper .product-swiper-next {
    right: -5px;
  }

  /* Comics Box Scroll Container - Mobile Layout */
  .comics-scroll-container-outer {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
  }

  .comics-scroll-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    scrollbar-width: none;
    /* Hide scrollbar for Firefox */
    padding: 0.2rem 0;
  }

  .comics-scroll-wrapper::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar for Chrome/Safari */
  }

  .comics-scroll-wrapper .comics-grid {
    flex-wrap: nowrap;
    margin: 0;
    justify-content: flex-start;
  }

  .comics-scroll-wrapper .comics-grid>div {
    flex: 0 0 auto;
    width: 105px;
    max-width: 105px;
    padding: 0 4px;
  }

  .comics-scroll-wrapper .publisher-logo-button img {
    width: 70px;
    height: auto;
    object-fit: contain;
  }

  .comics-scroll-btn-right {
    display: flex;
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: rgba(220, 53, 69, 0.95);
    /* Red theme accent */
    border: none;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    cursor: pointer;
    transition: all 0.2s ease, opacity 0.3s ease;
    opacity: 1;
  }

  .comics-scroll-btn-right:hover {
    background-color: #dc3545;
    transform: translateY(-50%) scale(1.08);
  }

  .comics-scroll-btn-right:active {
    transform: translateY(-50%) scale(0.92);
  }
  .exclusives-banner {
    position: relative;
    background-position: center;
    background-size: cover;
    padding:2rem  1rem;
    margin-bottom: 2rem;
  }
  .exclusives-banner-box{display: flex;justify-content: space-between;align-items: center;}
  .exclusives-banner-box h2{font-size: 1.2rem}
  .exclusives-banner-box p{font-size: .84rem}
  .exclusives-banner-box .btn{width: 98px}
  .end-contact li{width: 100%}
  
  .about-banner{width: 100%;background:#000}
.about-banner img{width: 100%;object-fit: cover;height:25vw;}
.about-box{max-width:1500px;margin:1rem 0;padding:0 1rem}
.about-title{font-size:1.8rem;padding:1rem 0;font-weight:700;text-transform: uppercase;}
.about-content{font-size:.9rem;line-height:1.5;color:#555;padding:0}
.footer{padding:1rem 0!important}
.footer .py-5{padding-top:0rem!important;
   padding-bottom:0rem!important
}
.footer .g-4{--bs-gutter-x:0}

}

/* Customize dropdown active color to dark gray */
.dropdown-item.active,
.dropdown-item:active {
  background-color: #475569 !important;
  color: #ffffff !important;
}
