:root {
  --sw-ink: #111111;
  --sw-muted: #5a5a5a;
  --sw-bg: #f7f3ee;
  --sw-gold: #b7925c;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Manrope", sans-serif;
  color: var(--sw-ink);
  background: #ffffff;
}

.sw-display {
  font-family: "Playfair Display", serif;
}

.sw-fade {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 500ms ease, transform 500ms ease;
}

.sw-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sw-glass {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
}

.sw-hero-overlay {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.52), rgba(0, 0, 0, 0.22));
}

@keyframes heroZoom {
  from { transform: scale(1.03); }
  to { transform: scale(1.12); }
}

.sw-hero-zoom {
  animation: heroZoom 8s ease-out forwards;
}

.editorial-hero {
  background: #0c0c0c;
}

.editorial-hero-overlay {
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.38)),
    linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.08));
}

.heroSwiper .hero-pagination {
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  width: auto;
  z-index: 20;
}

.heroSwiper .hero-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 6px !important;
  background: rgba(255, 255, 255, 0.58);
  opacity: 1;
}

.heroSwiper .hero-pagination .swiper-pagination-bullet-active {
  background: #ffffff;
  transform: scale(1.22);
}

.cat-flip-card {
  perspective: 1200px;
  display: block;
  height: 260px;
}

.cat-flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s ease;
}

.cat-flip-card:hover .cat-flip-card-inner {
  transform: rotateX(180deg);
}

.cat-flip-front,
.cat-flip-back {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  overflow: hidden;
  backface-visibility: hidden;
}

.cat-flip-front {
  background: #111;
}

.cat-flip-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.15));
}

.cat-flip-title {
  position: absolute;
  left: 14px;
  bottom: 14px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 12px;
  font-weight: 700;
}

.cat-flip-back {
  background: #101010;
  transform: rotateX(180deg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
}

@media (max-width: 640px) {
  .cat-flip-card {
    height: 220px;
  }
}

/* Filter Sidebar */
[data-sw-filter-sidebar] {
  box-shadow: -4px 0 16px rgba(0, 0, 0, 0.08);
}

[data-sw-filter-sidebar] input,
[data-sw-filter-sidebar] select {
  transition: border-color 0.2s, box-shadow 0.2s;
}

[data-sw-filter-sidebar] input:focus,
[data-sw-filter-sidebar] select:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.1);
}

/* Filter button */
[data-sw-filter-toggle] {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}

[data-sw-filter-toggle]:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* Product Cards - No Border Radius */
article .relative {
  background: white;
}

article img {
  display: block;
}

/* Clean product card styling without excessive rounding */
article > div:first-child {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease;
}

article:hover > div:first-child {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

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

.category-full-overlay {
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2));
}

.categoryFullSwiper .category-full-pagination {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px;
  width: auto;
  z-index: 20;
}

.categoryFullSwiper .category-full-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 6px !important;
  background: rgba(255, 255, 255, 0.58);
  opacity: 1;
}

.categoryFullSwiper .category-full-pagination .swiper-pagination-bullet-active {
  background: #fff;
  transform: scale(1.2);
}

.sw-home-cta {
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 30%),
    linear-gradient(120deg, #121212, #1e1e1e 45%, #2d2a26);
}
