/* ============================================
   COMPONENT STYLES
   ============================================ */

/* Card Components */
.hover-card-select {
  border: 1px solid var(--white);
  background-color: var(--white);
  color: var(--black);
  transition: var(--transition-base);
}

.hover-card-select img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.hover-card-select:hover {
  border: 1px solid var(--buzz-red);
  color: var(--buzz-red);
}

.hover-card-select:hover img {
  -webkit-filter: none;
  filter: none;
}

/* Calendar Format */
.calendar-digit-red,
.calendar-digit-pink {
  font-size: 72px;
}

.calendar-digit-red > span {
  background-image: url(/img/calendar-format/digit-hund-red.svg);
  background-size: cover;
}

.calendar-digit-pink > span {
  background-image: url(/img/calendar-format/digit-hund-pink.svg);
  background-size: cover;
}

/* Background Images */
.monetize {
  background-size: auto 100px;
}

.advertise {
  background-size: auto 96px;
}

.bg-party-2 {
  background: url(/img/bg-party-1160x450.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
}

/* Arrow Components */
.arrow img {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}

.arrow:hover img {
  filter: none;
  -webkit-filter: none;
}

/* Career Profile */
.career-profile {
  min-height: 600px;
}

/* Inventory Items */
.inventory-item img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.inventory-item:hover .dn {
  display: block;
}

.inventory-item:hover img {
  -webkit-filter: none;
  filter: none;
  height: auto;
}

.inventory-item:hover strong {
  color: var(--black);
}

.inventory-item:hover .db {
  display: none;
}

.inventory-item:hover .closed {
  display: none;
}

.inventory-item:hover .open {
  display: block;
}

/* Workable Components */
.whr-items,
.whr-info,
.whr-description {
  display: none;
}

.whr-items.open {
  display: block;
}

h2.whr-group {
  font-size: 1.2rem;
  cursor: pointer;
}

.whr-items {
  list-style-type: none;
  padding-left: 0;
}

.whr-items h3 {
  margin: 0;
}

.whr-items a {
  text-decoration: none;
  color: var(--gray);
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5rem;
}

/* Culture Section */
#section-culture .hide-child .child {
  visibility: hidden;
  position: absolute;
}

#section-culture .hide-child:hover .child,
#section-culture .hide-child:focus .child,
#section-culture .hide-child:active .child {
  visibility: visible;
  position: static;
}

#section-culture .dn-ns h2 {
  background-image: url(/img/arrow-down.svg);
  background-position: center right 20px;
}

#section-culture .dn-ns .hide-child:hover h2,
#section-culture .dn-ns .hide-child:focus h2,
#section-culture .dn-ns .hide-child:active h2 {
  background-image: url(/img/arrow-up.svg);
  color: var(--black);
}

/* Slider */
.slides {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

.slides > div {
  width: 100%;
  flex-shrink: 0;
  scroll-snap-align: start;
}

/* Menu */
#main-menu {
  z-index: 100;
}

#main-menu.toggle-hidden {
  max-height: 100vh;
}

/* Recruiting Banner - Responsive */
.recruiting-banner {
  min-height: 124px !important;
  padding: 20px 40px !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

.recruiting-banner span {
  line-height: 1.2 !important;
  text-align: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  word-break: keep-all !important;
}

.recruiting-banner a {
  flex-shrink: 0 !important;
  text-decoration: none !important;
}

/* Tablet and below (max-width: 767px) */
@media (max-width: 767px) {
  .recruiting-banner {
    padding: 24px 20px !important;
    min-height: auto !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 16px !important;
  }
  
  .recruiting-banner span {
    font-size: 18px !important;
    line-height: 1.4 !important;
    flex: 1 1 100% !important;
    margin-bottom: 0 !important;
  }
  
  .recruiting-banner a {
    width: 160px !important;
    height: 40px !important;
    flex: 0 0 auto !important;
  }
  
  .recruiting-banner a p {
    font-size: 14px !important;
  }
}

/* Mobile (max-width: 575px) */
@media (max-width: 575px) {
  .recruiting-banner {
    padding: 20px 16px !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  
  .recruiting-banner span {
    font-size: 16px !important;
    line-height: 1.5 !important;
    flex: 1 1 auto !important;
    width: 100% !important;
  }
  
  .recruiting-banner a {
    width: 140px !important;
    height: 44px !important;
  }
  
  .recruiting-banner a p {
    font-size: 14px !important;
  }
}

