/* ===== Scoped Reset — Prevent theme style interference ===== */
.pcb-wrapper,
.pcb-wrapper *,
.pcb-wrapper *::before,
.pcb-wrapper *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: normal;
  text-decoration: none;
  list-style: none;
  background: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.pcb-wrapper img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: middle;
}

.pcb-wrapper small {
  font-size: inherit;
}

/* ===== Product Categories Accordion Banner — Frontend Styles ===== */

.pcb-wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
  background: #000;
}

/* ─── Remove gap between accordion-banner and footer ─── */
.elementor-widget-pcb_accordion_banner {
  margin-bottom: 0 !important;
}
/* Zero out padding on the parent Elementor section */
.e-con:has(.elementor-widget-pcb_accordion_banner) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
/* Remove bottom padding/margin from the content containers wrapping the accordion */
.wd-content-area:has(.pcb-wrapper),
.wd-content-area:has(.pcb-wrapper) article {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#main-content:has(.pcb-wrapper) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.main-page-wrapper:has(.pcb-wrapper) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
/* Make the footer outer background black to blend with accordion */
body:has(.pcb-wrapper) .wd-footer {
  background-color: #1a1a1a !important;
}
/* Tilt shape fill matches footer inner background (#1A1A1A) for seamless diagonal transition */
body:has(.pcb-wrapper) .wd-footer .elementor-shape-top .elementor-shape-fill {
  fill: #1A1A1A !important;
}

.pcb-picBox {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.pcb-pa {
  position: absolute;
  top: 0;
  height: 100%;
}

.pcb-pro-type {
  transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  cursor: pointer;
  overflow: hidden;
}

/* Blue overlay — only visible on hover/active */
.pcb-pro-type::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(30, 80, 160, 0);
  transition: background-color 0.5s ease;
  z-index: 1;
}

.pcb-pro-type:hover::before,
.pcb-pro-type.active::before {
  background-color: rgba(30, 80, 160, 0.5);
}

/* Content container */
.pcb-layout-tab {
  display: table;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
}

.pcb-cell {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding: 0 20px;
  transition: all 0.5s ease;
}

.pcb-pro-type:hover .pcb-cell,
.pcb-pro-type.active .pcb-cell {
  padding: 0 40px;
}

/* Heading */
.pcb-pro-type .pcb-title {
  color: #fff;
  margin: 0;
  font-size: 32px;
  font-weight: 500;
  transition: transform 0.5s ease;
  white-space: nowrap;
}

/* Show <br> in collapsed state, hide on expand */
.pcb-pro-type .pcb-title br {
  display: block;
}
.pcb-pro-type:hover .pcb-title br,
.pcb-pro-type.active .pcb-title br {
  display: inline-block;
  width: 0.3em;
  height: 0;
  overflow: hidden;
  vertical-align: baseline;
}

.pcb-pro-type .pcb-title small {
  display: block;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 300;
}

.pcb-pro-type:hover .pcb-title,
.pcb-pro-type.active .pcb-title {
  transform: translateY(-20px);
}

/* Item list */
.pcb-ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.4s ease;
  max-width: 350px;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.pcb-pro-type:hover .pcb-ul,
.pcb-pro-type.active .pcb-ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(10px);
  height: auto;
  margin-top: 20px;
  pointer-events: auto;
}

.pcb-ul li {
  padding: 12px 0;
  border-bottom: none;
  color: #fff;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.pcb-ul li a {
  display: flex;
  align-items: center;
  color: inherit;
  text-decoration: none !important;
  width: 100%;
}

/* Circle indicator before each item */
.pcb-ul li a::before {
  content: '';
  display: inline-block;
  width: 35px;
  height: 35px;
  min-width: 35px;
  border: 1.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  margin-right: 12px;
  margin-top: 0;
  transition: all 0.25s ease;
  background: transparent;
}

/* Hover: filled circle */
.pcb-ul li:hover a::before {
  background: #fff;
  border-color: #fff;
}

.pcb-ul li:last-child {
  border-bottom: none;
}

.pcb-ul li:hover {
  transform: none;
}

/* Item icon (PNG image) */
.pcb-item-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  margin-right: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}

.pcb-ul li span {
  display: flex;
  flex-direction: column;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.pcb-ul li span small {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 6px;
  font-weight: 300;
  line-height: 1.4;
  white-space: normal;
}

/* ===== Large Desktop ≤ 1440px ===== */
@media screen and (max-width: 1440px) {
  .pcb-picBox {
    height: 780px !important;
  }
}

/* ===== Small Desktop ≤ 1280px ===== */
@media screen and (max-width: 1280px) {
  .pcb-picBox {
    height: 700px !important;
  }
  .pcb-pro-type .pcb-title {
    font-size: 28px;
  }
}

/* ===== Tablet Landscape ≤ 1024px ===== */
@media screen and (max-width: 1024px) {
  .pcb-picBox {
    height: 600px !important;
  }
  .pcb-pro-type .pcb-title {
    font-size: 26px;
  }
  .pcb-pro-type .pcb-title small {
    font-size: 12px;
  }
}

/* ===== Mobile — Shared ===== */
@media screen and (max-width: 768px) {
  .pcb-wrapper {
    background: #1a1a2e;
  }

  .pcb-picBox {
    height: auto !important;
    display: flex;
    flex-wrap: wrap;
  }

  .pcb-pa {
    position: relative;
    top: auto;
    height: auto;
  }

  .pcb-pa.pcb-pro-type {
    position: relative;
    left: 0 !important;
    transition: height 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  }

  .pcb-pro-type.active::before {
    background-color: rgba(30, 80, 160, 0.5);
  }

  .pcb-pro-type .pcb-title {
    font-size: 16px !important;
    white-space: nowrap;
    text-align: center;
  }

  .pcb-pro-type .pcb-title small {
    display: block;
    font-size: 12px;
    margin-top: 4px;
    letter-spacing: 0.5px;
  }

  .pcb-ul li:hover {
    transform: none;
  }

  .pcb-item-icon {
    width: 22px;
    height: 22px;
    margin-right: 10px;
  }

  /* Show item list when panel is tapped (active) on any mobile layout */
  .pcb-pro-type.active .pcb-ul {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    transform: translateY(0) !important;
    margin-top: 10px;
    pointer-events: auto;
    overflow: visible;
  }



  /* Hide title when active */
  .pcb-wrapper .pcb-pro-type.active .pcb-title,
  .pcb-wrapper .pcb-pro-type.active .pcb-cell > .pcb-title {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Smaller sub-menu font on mobile */
  .pcb-ul li {
    padding: 6px 0 !important;
  }
  .pcb-ul li a {
    font-size: 13px;
  }
  .pcb-ul li span {
    font-size: 13px !important;
  }
  .pcb-ul li span small {
    font-size: 10px !important;
  }
  .pcb-ul li a::before {
    width: 16px;
    height: 16px;
    min-width: 16px;
  }
}

/* ===== Mobile — Grid Card Mode ===== */
@media screen and (max-width: 768px) {
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-picBox {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pa.pcb-pro-type {
    width: 100% !important;
    height: 220px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-sizing: border-box;
  }

  /* Odd last item spans full row */
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pa.pcb-pro-type.pcb-full-width {
    grid-column: 1 / -1;
  }

  /* Subtle dark overlay by default for readability */
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type::before {
    background-color: rgba(0, 0, 0, 0.3);
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type:hover::before,
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type.active::before {
    background-color: rgba(30, 80, 160, 0.5);
  }

  /* Title centered */
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-cell {
    vertical-align: middle;
    text-align: center;
    padding: 0 16px;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type:hover .pcb-cell,
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type.active .pcb-cell {
    text-align: center;
    padding: 0 16px;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type:hover .pcb-title,
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type.active .pcb-title {
    transform: none;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-title {
    white-space: normal;
    line-height: 1.3;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-title small {
    display: block;
    margin-top: 6px;
  }


  /* Show items when card is tapped (active) */
  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type.active {
    height: auto !important;
    min-height: 220px;
    overflow: visible;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type.active .pcb-ul {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    transform: translateY(0);
    margin-top: 10px;
    pointer-events: auto;
    overflow: visible;
  }
}

/* ===== Mobile — List Accordion Mode ===== */
@media screen and (max-width: 768px) {
  .pcb-wrapper[data-mobile-layout="list"] .pcb-picBox {
    flex-direction: column;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pa.pcb-pro-type {
    width: 100% !important;
    height: 80px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pa.pcb-pro-type.active {
    height: 380px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-cell {
    vertical-align: middle;
    text-align: left;
    padding: 0 24px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pro-type.active .pcb-cell {
    text-align: left;
    padding: 0 24px;
    vertical-align: top;
    padding-top: 30px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pro-type .pcb-title small {
    display: inline;
    margin-top: 0;
    margin-left: 12px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pro-type.active .pcb-title {
    transform: translateY(0);
    font-size: 24px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pro-type.active .pcb-title small {
    display: block;
    margin-left: 0;
    margin-top: 6px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-ul {
    max-width: 100%;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pro-type.active .pcb-ul {
    margin-top: 16px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-ul li {
    padding: 10px 0;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-ul li span {
    font-size: 14px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-ul li span small {
    font-size: 11px;
    margin-top: 4px;
  }
}

/* ===== Phone ≤ 480px ===== */
@media screen and (max-width: 480px) {
  .pcb-pro-type .pcb-title {
    font-size: 16px;
  }
  .pcb-pro-type .pcb-title small {
    font-size: 10px;
  }
  .pcb-ul li span {
    font-size: 13px;
  }
  .pcb-ul li span small {
    font-size: 10px;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pa.pcb-pro-type {
    width: 100% !important;
  }

  .pcb-wrapper[data-mobile-layout="grid"] .pcb-pro-type.active {
    min-height: 280px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pro-type.active .pcb-title {
    font-size: 20px;
  }
}

/* ===== Small Phone ≤ 375px ===== */
@media screen and (max-width: 375px) {
  .pcb-pro-type .pcb-title {
    font-size: 14px;
  }
  .pcb-pro-type .pcb-title small {
    font-size: 9px;
  }
  .pcb-ul li span {
    font-size: 12px;
  }
  .pcb-ul li span small {
    font-size: 9px;
  }

  .pcb-wrapper[data-mobile-layout="list"] .pcb-pro-type.active .pcb-title {
    font-size: 18px;
  }
}

/* ===== Accessibility: Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
  .pcb-pro-type {
    transition: none !important;
  }
  .pcb-pro-type::before {
    transition: none !important;
  }
  .pcb-cell {
    transition: none !important;
  }
  .pcb-title {
    transition: none !important;
  }
  .pcb-ul {
    transition: none !important;
  }
}

@keyframes pcbFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
