/* [project]/src/components/layout/Navbar.module.css [app-client] (css) */
.Navbar-module__cRh5nW__navbar {
  z-index: var(--z-sticky);
  height: var(--navbar-height);
  transition: all var(--transition-base);
  -webkit-backdrop-filter: blur(20px);
  background: #ffffffb3;
  border-bottom: 1px solid #0000;
  align-items: center;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.Navbar-module__cRh5nW__navbar.Navbar-module__cRh5nW__scrolled {
  border-bottom: 1px solid var(--color-border);
  box-shadow: var(--shadow-md);
  background: #fffffff2;
}

.Navbar-module__cRh5nW__inner {
  width: 100%;
  max-width: var(--max-width);
  padding: 0 var(--space-6);
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  display: flex;
}

.Navbar-module__cRh5nW__logo {
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text);
  text-decoration: none;
  display: flex;
}

.Navbar-module__cRh5nW__logoMark {
  font-size: var(--text-xl);
  color: var(--color-secondary);
  animation: 3s ease-in-out infinite Navbar-module__cRh5nW__glowPulse;
}

@keyframes Navbar-module__cRh5nW__glowPulse {
  0%, 100% {
    text-shadow: 0 0 5px #2d6a4f4d;
  }

  50% {
    text-shadow: 0 0 15px #2d6a4f80;
  }
}

.Navbar-module__cRh5nW__logoText {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 800;
}

.Navbar-module__cRh5nW__links {
  align-items: center;
  gap: var(--space-8);
  display: flex;
}

.Navbar-module__cRh5nW__link {
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-text-secondary);
  padding: var(--space-2) 0;
  transition: color var(--transition-fast);
  font-weight: 600;
  text-decoration: none;
  position: relative;
}

.Navbar-module__cRh5nW__link:after {
  content: "";
  background: var(--color-secondary);
  width: 0;
  height: 2px;
  transition: width var(--transition-base);
  position: absolute;
  bottom: 0;
  left: 0;
}

.Navbar-module__cRh5nW__link:hover {
  color: var(--color-secondary);
}

.Navbar-module__cRh5nW__link:hover:after {
  width: 100%;
}

.Navbar-module__cRh5nW__adminLink {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  border: 1px solid var(--color-border);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-sm);
}

.Navbar-module__cRh5nW__adminLink:hover {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.Navbar-module__cRh5nW__hamburger {
  cursor: pointer;
  padding: var(--space-2);
  z-index: 10;
  background: none;
  border: none;
  flex-direction: column;
  gap: 5px;
  display: none;
}

.Navbar-module__cRh5nW__hamburger span {
  background: var(--color-text);
  width: 24px;
  height: 2px;
  transition: all var(--transition-base);
  display: block;
}

.Navbar-module__cRh5nW__hamburger.Navbar-module__cRh5nW__active span:first-child {
  transform: rotate(45deg)translate(5px, 5px);
}

.Navbar-module__cRh5nW__hamburger.Navbar-module__cRh5nW__active span:nth-child(2) {
  opacity: 0;
}

.Navbar-module__cRh5nW__hamburger.Navbar-module__cRh5nW__active span:nth-child(3) {
  transform: rotate(-45deg)translate(5px, -5px);
}

@media (max-width: 768px) {
  .Navbar-module__cRh5nW__hamburger {
    display: flex;
  }

  .Navbar-module__cRh5nW__links {
    background: var(--color-surface);
    width: 280px;
    height: 100vh;
    padding: calc(var(--navbar-height)  + var(--space-8)) var(--space-8);
    align-items: flex-start;
    gap: var(--space-6);
    transition: right var(--transition-slow);
    border-left: 1px solid var(--color-border);
    flex-direction: column;
    position: fixed;
    top: 0;
    right: -100%;
  }

  .Navbar-module__cRh5nW__links.Navbar-module__cRh5nW__open {
    right: 0;
  }

  .Navbar-module__cRh5nW__link {
    font-size: var(--text-base);
  }
}

/* [project]/src/components/layout/Footer.module.css [app-client] (css) */
.Footer-module__3hUVsW__footer {
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
  padding: var(--space-16) 0 var(--space-8);
  margin-top: var(--space-20);
}

.Footer-module__3hUVsW__inner {
  max-width: var(--max-width);
  padding: 0 var(--space-6);
  margin: 0 auto;
}

.Footer-module__3hUVsW__grid {
  gap: var(--space-12);
  padding-bottom: var(--space-12);
  border-bottom: 1px solid var(--color-border);
  grid-template-columns: 2fr 1fr 1fr 1fr;
  display: grid;
}

.Footer-module__3hUVsW__logo {
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  display: flex;
}

.Footer-module__3hUVsW__logoMark {
  font-size: var(--text-xl);
  color: var(--color-secondary);
}

.Footer-module__3hUVsW__logoText {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--color-text);
  font-weight: 800;
}

.Footer-module__3hUVsW__tagline {
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  max-width: 280px;
  line-height: 1.6;
}

.Footer-module__3hUVsW__column {
  gap: var(--space-3);
  flex-direction: column;
  display: flex;
}

.Footer-module__3hUVsW__columnTitle {
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--color-secondary);
  margin-bottom: var(--space-2);
  font-weight: 700;
}

.Footer-module__3hUVsW__footerLink {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
  cursor: pointer;
  text-decoration: none;
}

.Footer-module__3hUVsW__footerLink:hover {
  color: var(--color-text);
}

.Footer-module__3hUVsW__bottom {
  padding-top: var(--space-8);
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
  display: flex;
}

.Footer-module__3hUVsW__copyright {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.Footer-module__3hUVsW__badges {
  gap: var(--space-4);
  display: flex;
}

.Footer-module__3hUVsW__badge {
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
}

@media (max-width: 768px) {
  .Footer-module__3hUVsW__grid {
    gap: var(--space-8);
    grid-template-columns: 1fr 1fr;
  }

  .Footer-module__3hUVsW__brand {
    grid-column: 1 / -1;
  }

  .Footer-module__3hUVsW__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .Footer-module__3hUVsW__badges {
    flex-wrap: wrap;
  }
}

/* [project]/src/app/customize/customize.module.css [app-client] (css) */
.customize-module__sHRbTa__main {
  padding-top: var(--navbar-height);
  min-height: 100vh;
}

.customize-module__sHRbTa__container {
  max-width: var(--max-width);
  padding: var(--space-8) var(--space-6);
  margin: 0 auto;
}

.customize-module__sHRbTa__header {
  margin-bottom: var(--space-8);
}

.customize-module__sHRbTa__title {
  font-size: var(--text-4xl);
  margin-bottom: var(--space-2);
}

.customize-module__sHRbTa__subtitle {
  color: var(--color-text-secondary);
  max-width: 600px;
}

.customize-module__sHRbTa__layout {
  gap: var(--space-8);
  grid-template-columns: 1.3fr 1fr;
  display: grid;
}

.customize-module__sHRbTa__canvasArea {
  top: calc(var(--navbar-height)  + var(--space-4));
  align-self: start;
  position: sticky;
}

.customize-module__sHRbTa__canvasWrap {
  aspect-ratio: 4 / 3;
  background: var(--color-surface-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
}

.customize-module__sHRbTa__canvasControls {
  margin-top: var(--space-3);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.customize-module__sHRbTa__toggleBtn {
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  text-transform: uppercase;
  background: var(--color-surface-card);
  border: 1px solid var(--color-border);
  color: var(--color-text-secondary);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.customize-module__sHRbTa__toggleBtn:hover, .customize-module__sHRbTa__toggleBtn.customize-module__sHRbTa__open {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.customize-module__sHRbTa__hint {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.customize-module__sHRbTa__loading {
  justify-content: center;
  align-items: center;
  gap: var(--space-4);
  height: 100%;
  color: var(--color-text-muted);
  flex-direction: column;
  display: flex;
}

.customize-module__sHRbTa__spinner {
  border: 3px solid var(--color-border);
  border-top-color: var(--color-secondary);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  animation: .8s linear infinite customize-module__sHRbTa__spin;
}

@keyframes customize-module__sHRbTa__spin {
  to {
    transform: rotate(360deg);
  }
}

.customize-module__sHRbTa__panel {
  gap: var(--space-6);
  flex-direction: column;
  display: flex;
}

.customize-module__sHRbTa__panelLabel {
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--color-text-muted);
  margin-bottom: var(--space-3);
  font-weight: 700;
}

.customize-module__sHRbTa__partHighlight {
  color: var(--color-secondary);
}

.customize-module__sHRbTa__typeButtons {
  gap: var(--space-3);
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.customize-module__sHRbTa__typeBtn {
  padding: var(--space-4);
  background: var(--color-surface-card);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  text-align: left;
  transition: all var(--transition-fast);
}

.customize-module__sHRbTa__typeBtn:hover {
  border-color: var(--color-text-muted);
}

.customize-module__sHRbTa__typeBtnActive {
  border-color: var(--color-secondary);
  background: #2d6a4f0d;
}

.customize-module__sHRbTa__typeName {
  font-family: var(--font-heading);
  font-size: var(--text-base);
  text-transform: uppercase;
  color: var(--color-text);
  margin-bottom: 2px;
  font-weight: 700;
  display: block;
}

.customize-module__sHRbTa__typePrice {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.customize-module__sHRbTa__partTabs {
  gap: var(--space-2);
  display: flex;
}

.customize-module__sHRbTa__partTab {
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  text-transform: uppercase;
  padding: var(--space-2) var(--space-4);
  background: var(--color-surface-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  color: var(--color-text-secondary);
  transition: all var(--transition-fast);
  display: flex;
}

.customize-module__sHRbTa__partTab:hover {
  border-color: var(--color-text-muted);
}

.customize-module__sHRbTa__partTabActive {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.customize-module__sHRbTa__partDot {
  border: 1px solid #0000001a;
  border-radius: 50%;
  width: 10px;
  height: 10px;
}

.customize-module__sHRbTa__materialGrid {
  gap: var(--space-2);
  flex-direction: column;
  max-height: 320px;
  display: flex;
  overflow-y: auto;
}

.customize-module__sHRbTa__materialCard {
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  background: var(--color-surface-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition-fast);
  text-align: left;
  display: flex;
}

.customize-module__sHRbTa__materialCard:hover {
  border-color: var(--color-text-muted);
}

.customize-module__sHRbTa__materialSelected {
  border-color: var(--color-secondary);
  background: #2d6a4f0d;
}

.customize-module__sHRbTa__materialSwatch {
  border-radius: var(--radius-sm);
  border: 1px solid #00000014;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}

.customize-module__sHRbTa__materialInfo {
  flex: 1;
  min-width: 0;
}

.customize-module__sHRbTa__materialName {
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  text-transform: uppercase;
  color: var(--color-text);
  font-weight: 600;
  display: block;
}

.customize-module__sHRbTa__materialOrigin {
  color: var(--color-text-muted);
  margin-top: 1px;
  font-size: 11px;
  display: block;
}

.customize-module__sHRbTa__materialMeta {
  gap: var(--space-2);
  margin-top: 2px;
  display: flex;
}

.customize-module__sHRbTa__rarityBadge {
  font-family: var(--font-heading);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}

.customize-module__sHRbTa__materialPrice {
  font-family: var(--font-heading);
  color: var(--color-secondary);
  font-size: 10px;
}

.customize-module__sHRbTa__checkmark {
  font-size: var(--text-lg);
  color: var(--color-secondary);
}

.customize-module__sHRbTa__priceSection {
  background: var(--color-surface-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-6);
}

.customize-module__sHRbTa__priceBreakdown {
  margin-bottom: var(--space-6);
}

.customize-module__sHRbTa__priceRow {
  padding: var(--space-2) 0;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.customize-module__sHRbTa__modifier {
  color: var(--color-secondary);
}

.customize-module__sHRbTa__priceDivider {
  background: var(--color-border);
  height: 1px;
  margin: var(--space-2) 0;
}

.customize-module__sHRbTa__priceTotal {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  color: var(--color-text);
  font-weight: 800;
}

.customize-module__sHRbTa__deliveryNote {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  text-align: center;
  margin-top: var(--space-3);
}

@media (max-width: 768px) {
  .customize-module__sHRbTa__layout {
    grid-template-columns: 1fr;
  }

  .customize-module__sHRbTa__canvasArea {
    position: static;
  }
}

/*# sourceMappingURL=src_a7f651db._.css.map*/