/* (wszystkie style z oryginału – bez zmian) */
body {
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
}
.rack-visual-bg {
  background: #f8fafc;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.02);
}
.hardware-module img,
.card-slot img {
  mix-blend-mode: multiply;
  filter: contrast(1.02);
}
@keyframes slideInUpSpring {
  from {
    opacity: 0;
    transform: translateY(40px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.hardware-module {
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: help;
  animation: slideInUpSpring 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  opacity: 0;
  height: clamp(160px, 20vw, 300px);
}
.hardware-module:hover {
  transform: translateY(-15px) scale(1.03) !important;
  z-index: 150 !important;
  filter: drop-shadow(0 25px 30px rgba(0, 0, 0, 0.15));
}
.module-shadow {
  filter: drop-shadow(0 8px 15px rgba(0, 0, 0, 0.08));
}
.card-column {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding-bottom: 20px;
  margin-right: -5px;
  z-index: 100;
}
.card-slot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  height: clamp(60px, 7.5vw, 112.5px);
  animation: slideInUpSpring 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  opacity: 0;
  cursor: help;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.card-slot:hover {
  transform: translateY(-8px) scale(1.03) !important;
  z-index: 250 !important;
  filter: drop-shadow(0 25px 30px rgba(0, 0, 0, 0.2));
}
.card-slot img {
  height: 100%;
  width: auto;
  object-fit: contain;
  backface-visibility: hidden;
}
.slot-arrow {
  font-size: 24px;
  color: #00A0E1;
  font-weight: bold;
  margin-left: 8px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
  animation: bounceSide 1.5s infinite;
}
@keyframes bounceSide {
  0%,
  100% {
    transform: translateX(0);
    opacity: 0.6;
  }
  50% {
    transform: translateX(6px);
    opacity: 1;
  }
}
.tooltip {
  visibility: hidden;
  position: absolute;
  bottom: 85%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #1f2937;
  color: white;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 10px;
  white-space: nowrap;
  z-index: 200;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transition: all 0.2s;
}
.tooltip-wrap {
  white-space: normal !important;
  max-width: 250px;
  text-align: center;
}
.tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #1f2937 transparent transparent transparent;
}
.group:hover .tooltip {
  visibility: visible;
  opacity: 1;
  bottom: 95%;
}
.animate-fade {
  animation: fadeIn 0.5s ease-out forwards;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .slot-arrow {
    font-size: max(14px, 2vw);
    margin-left: 4px;
  }
  .rack-visual-bg {
    padding: 1rem;
  }
}
@media (max-width: 480px) {
  .slot-arrow {
    font-size: max(12px, 3vw);
  }
  .rack-visual-bg {
    padding: 0.5rem;
  }
}
.first-row {
  align-items: end;
}
.second-row {
  margin-top: 8px;
  width: 100%;
  line-height: 1.2;
}
.dimension-line-container {
  width: 100%;
  display: flex;
  justify-content: center;
}
.dimension-line {
  position: relative;
  width: 100%;
  height: 2px;
  background: #94a3b8;
  margin-top: 10px;
}
.dimension-line::before,
.dimension-line::after {
  content: '';
  position: absolute;
  width: 2px;
  height: 12px;
  background: #94a3b8;
  top: -5px;
}
.dimension-line::before {
  left: 0;
}
.dimension-line::after {
  right: 0;
}
.dimension-text {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: transparent;
  padding: 0 8px;
  font-size: 10.5px;
  font-weight: 900;
  color: #475569;
  z-index: 10;
  white-space: nowrap;
}
:root {
  --module-height: 280px;
}
@media (max-width: 480px) {
  :root {
    --module-height: 140px;
  }
}
@media (min-width: 481px) and (max-width: 768px) {
  :root {
    --module-height: 180px;
  }
}
@media (min-width: 769px) and (max-width: 1280px) {
  :root {
    --module-height: 220px;
  }
}
@media (min-width: 1281px) {
  :root {
    --module-height: 280px;
  }
}
.hardware-module {
  height: var(--module-height) !important;
  width: auto;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}
.card-slot {
  height: calc(var(--module-height) * 0.375) !important;
  width: auto;
}
.card-slot img,
.hardware-module img {
  height: 100%;
  width: auto;
  object-fit: contain;
}
.rack-visual-bg {
  overflow-x: visible !important;
  padding: 20px 10px;
  display: flex;
  justify-content: center;
}
.highlight-pulse {
  transition: background-color 0.5s ease-in-out;
}
.highlight-pulse.active {
  background-color: #fef08a;
}
.power-warning-text {
  white-space: normal !important;
  word-wrap: break-word;
  font-size: 10px;
  color: #6b7280;
  font-style: italic;
  margin-top: 4px;
  padding-left: 0;
  width: 100%;
  text-align: center;
}
.bom-highlight {
  background-color: #fef08a !important;
  transition: background-color 0.3s;
}
.cabinet-separator-clickable {
  cursor: pointer;
  transition: all 0.2s ease;
}
.cabinet-separator-clickable:hover {
  transform: scale(1.03);
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
}
.text-pretty {
  text-wrap: pretty;
}
.orientation-tip {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(5px);
  color: #1f2937;
  padding: 12px 20px;
  border-radius: 60px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.02);
  font-size: 14px;
  font-weight: 500;
  z-index: 9999;
  border: 1px solid rgba(255, 255, 255, 0.6);
  text-align: center;
  max-width: 90%;
  white-space: normal;
  line-height: 1.5;
  display: none;
  transition: opacity 0.3s;
}
.orientation-tip .tip-arrow {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid rgba(255, 255, 255, 0.3);
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.1));
}
/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sources%22%3A%5B%22%5C%2Fstatic%5C%2Ffrontend%5C%2FThemes%5C%2FKowal%5C%2Fpl_PL%5C%2FKowal_KonfiguratorMd800%5C%2Fcss%5C%2Fconfigurator.less%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22%3BAACI%3BEAAO%2CaAAa%2CmBAAb%3BEAAkC%2CkBAAA%3B%3BAACzC%3BEAAkB%2CmBAAA%3BEAAqB%2CyBAAA%3BEAA2B%2CmBAAA%3BEAAqB%2CgDAAA%3B%3BAACvF%2CgBAAiB%3BAAAK%2CUAAW%3BEAAM%2CwBAAA%3BEAA0B%2CQAAQ%2CcAAR%3B%3BAACjE%3BEAA6B%3BIAAO%2CUAAA%3BIAAY%2CWAAW%2CiBAAiB%2CUAA5B%3B%3BEAA0C%3BIAAK%2CUAAA%3BIAAY%2CWAAW%2CcAAc%2CQAAzB%3B%3B%3BAAC3G%3BEAAmB%2CqBAAqB%2CuCAArB%3BEAA8D%2CYAAA%3BEAAc%2CgCAAgC%2C0CAAhC%3BEAA4E%2CUAAA%3BEAAY%2CQAAQ%2CyBAAR%3B%3BAACvL%2CgBAAgB%3BEAAS%2CWAAW%2CkBAAkB%2CWAA7B%3BEAAqD%2CuBAAA%3BEAAyB%2CQAAQ%2C4CAAR%3B%3BAACvG%3BEAAiB%2CQAAQ%2C2CAAR%3B%3BAACjB%3BEAAe%2CaAAA%3BEAAe%2CsBAAA%3BEAAwB%2CyBAAA%3BEAA2B%2CSAAA%3BEAAW%2CoBAAA%3BEAAsB%2CkBAAA%3BEAAoB%2CYAAA%3B%3BAACtI%3BEAAa%2CaAAA%3BEAAe%2CmBAAA%3BEAAqB%2CyBAAA%3BEAA2B%2CkBAAA%3BEAAoB%2CQAAQ%2C2BAAR%3BEAAqC%2CgCAAgC%2C0CAAhC%3BEAA4E%2CUAAA%3BEAAY%2CYAAA%3BEAAc%2CqBAAqB%2CuCAArB%3B%3BAAC3O%2CUAAU%3BEAAS%2CWAAW%2CiBAAiB%2CWAA5B%3BEAAoD%2CuBAAA%3BEAAyB%2CQAAQ%2C2CAAR%3B%3BAAChG%2CUAAW%3BEAAM%2CYAAA%3BEAAc%2CWAAA%3BEAAa%2CmBAAA%3BEAAqB%2C2BAAA%3B%3BAACjE%3BEAAc%2CeAAA%3BEAAiB%2CcAAA%3BEAAgB%2CiBAAA%3BEAAmB%2CgBAAA%3BEAAkB%2C2CAAA%3BEAA0C%2CmCAAA%3B%3BAAC9H%3BEAAwB%3BEAAI%3BIAAO%2CWAAW%2CaAAX%3BIAA0B%2CYAAA%3B%3BEAAgB%3BIAAM%2CWAAW%2CeAAX%3BIAA4B%2CUAAA%3B%3B%3BAAC%5C%2FG%3BEAAW%2CkBAAA%3BEAAoB%2CkBAAA%3BEAAoB%2CWAAA%3BEAAa%2CSAAA%3BEAAW%2CWAAW%2CgBAAX%3BEAA6B%2CyBAAA%3BEAA2B%2CYAAA%3BEAAc%2CiBAAA%3BEAAmB%2CkBAAA%3BEAAoB%2CeAAA%3BEAAiB%2CmBAAA%3BEAAqB%2CYAAA%3BEAAc%2C%2BCAAA%3BEAAiD%2CUAAA%3BEAAY%2CoBAAA%3B%3BAACzS%3BEAAgB%2C8BAAA%3BEAAgC%2CgBAAA%3BEAAkB%2CkBAAA%3B%3BAAClE%2CQAAQ%3BEAAU%2CSAAS%2CEAAT%3BEAAa%2CkBAAA%3BEAAoB%2CSAAA%3BEAAW%2CSAAA%3BEAAW%2CiBAAA%3BEAAmB%2CiBAAA%3BEAAmB%2CmBAAA%3BEAAqB%2CyDAAA%3B%3BAACpI%2CMAAM%2CMAAO%3BEAAW%2CmBAAA%3BEAAqB%2CUAAA%3BEAAY%2CWAAA%3B%3BAACzD%3BEAAgB%2CwCAAA%3B%3BAAChB%3BEAAoB%3BIAAO%2CUAAA%3B%3BEAAc%3BIAAK%2CUAAA%3B%3B%3BAAE9C%2CQAD0B%3BEAAE%3BIAAc%2CyBAAA%3BIAA8B%2CgBAAA%3B%3BEAAoB%3BIAAkB%2CaAAA%3B%3B%3BAAE9G%2CQAD0B%3BEAAE%3BIAAc%2CyBAAA%3B%3BEAAgC%3BIAAkB%2CeAAA%3B%3B%3BAAC5F%3BEAAa%2CgBAAA%3B%3BAACb%3BEAAc%2CeAAA%3BEAAiB%2CWAAA%3BEAAa%2CgBAAA%3B%3BAAC5C%3BEAA4B%2CWAAA%3BEAAa%2CaAAA%3BEAAe%2CuBAAA%3B%3BAACxD%3BEAAkB%2CkBAAA%3BEAAoB%2CWAAA%3BEAAa%2CWAAA%3BEAAa%2CmBAAA%3BEAAqB%2CgBAAA%3B%3BAACrF%2CeAAe%3BAAAU%2CeAAe%3BEAAU%2CSAAS%2CEAAT%3BEAAa%2CkBAAA%3BEAAoB%2CUAAA%3BEAAY%2CYAAA%3BEAAc%2CmBAAA%3BEAAqB%2CSAAA%3B%3BAAClI%2CeAAe%3BEAAW%2COAAA%3B%3BAAC1B%2CeAAe%3BEAAU%2CQAAA%3B%3BAACzB%3BEAAkB%2CkBAAA%3BEAAoB%2CUAAA%3BEAAY%2CSAAA%3BEAAW%2CWAAW%2CgBAAX%3BEAA6B%2CuBAAA%3BEAAyB%2CcAAA%3BEAAgB%2CiBAAA%3BEAAmB%2CgBAAA%3BEAAkB%2CcAAA%3BEAAgB%2CWAAA%3BEAAa%2CmBAAA%3B%3BAACrM%3BEAAQ%2CsBAAA%3B%3BAAER%2CQAD0B%3BEAAE%3BIAAQ%2CsBAAA%3B%3B%3BAAEpC%2CQAD0B%2CuBAAuB%3BEAAE%3BIAAQ%2CsBAAA%3B%3B%3BAAE3D%2CQAD0B%2CuBAAwB%3BEAAE%3BIAAQ%2CsBAAA%3B%3B%3BAAE5D%2CQAD2B%3BEAAE%3BIAAQ%2CsBAAA%3B%3B%3BAACrC%3BEAAmB%2CQAAQ%2CoBAAR%3BEAAyC%2CWAAA%3BEAAa%2CaAAA%3BEAAe%2CsBAAA%3BEAAwB%2CyBAAA%3B%3BAAChH%3BEAAa%2CQAAQ%2CKAAK%2C6BAAb%3BEAAuD%2CWAAA%3B%3BAACpE%2CUAAW%3BAAAK%2CgBAAiB%3BEAAM%2CYAAA%3BEAAc%2CWAAA%3BEAAa%2CmBAAA%3B%3BAAClE%3BEAAkB%2C8BAAA%3BEAAgC%2CkBAAA%3BEAAoB%2CaAAA%3BEAAe%2CuBAAA%3B%3BAACrF%3BEAAmB%2C6CAAA%3B%3BAACnB%2CgBAAgB%3BEAAU%2CyBAAA%3B%3BAAC1B%3BEAAsB%2C8BAAA%3BEAAgC%2CqBAAA%3BEAAuB%2CeAAA%3BEAAiB%2CcAAA%3BEAAgB%2CkBAAA%3BEAAoB%2CeAAA%3BEAAiB%2CeAAA%3BEAAiB%2CWAAA%3BEAAa%2CkBAAA%3B%3BAACjL%3BEAAiB%2CyBAAA%3BEAAsC%2CiCAAA%3B%3BAACvD%3BEAA%2BB%2CeAAA%3BEAAiB%2CyBAAA%3B%3BAAChD%2C4BAA4B%3BEAAS%2CWAAW%2CWAAX%3BEAAwB%2CQAAQ%2CyCAAR%3B%3BAAC7D%3BEAAe%2CiBAAA%3B%3BAACf%3BEAAmB%2CeAAA%3BEAAiB%2CYAAA%3BEAAc%2CSAAA%3BEAAW%2CWAAW%2CgBAAX%3BEAA6B%2C0CAAA%3BEAA4C%2CiBAAiB%2CSAAjB%3BEAA4B%2CcAAA%3BEAAgB%2CkBAAA%3BEAAoB%2CmBAAA%3BEAAqB%2CoFAAA%3BEAAgF%2CeAAA%3BEAAiB%2CgBAAA%3BEAAkB%2CaAAA%3BEAAe%2C0CAAA%3BEAAyC%2CkBAAA%3BEAAoB%2CcAAA%3BEAAgB%2CmBAAA%3BEAAqB%2CgBAAA%3BEAAkB%2CaAAA%3BEAAe%2CwBAAA%3B%3BAAChe%2CgBAAiB%3BEAAa%2CkBAAA%3BEAAoB%2CaAAA%3BEAAe%2CSAAA%3BEAAW%2CWAAW%2CgBAAX%3BEAA6B%2CQAAA%3BEAAU%2CSAAA%3BEAAW%2CmCAAA%3BEAAqC%2CoCAAA%3BEAAsC%2C%2BCAAA%3BEAAiD%2CQAAQ%2CyCAAR%22%7D */