/* =============================================================
   Tabbed Component Styles (tabbed.css)
   Scoped & Legacy Tab Rules for Exquisite Software V3
   ============================================================= */

/* Hide solid blocking geometric shapes */
.shape_circle,
.shape_rectangle,
.shape_organic_1,
.shape_organic_2 {
  display: none !important;
}

/* Restore decorative background shape_dots matrix */
.kd-shapes.shape_dots {
  display: block !important;
  visibility: visible !important;
  opacity: 0.35 !important;
  background-image: radial-gradient(#377ef9 1.5px, transparent 1.5px) !important;
  background-size: 16px 16px !important;
  background-color: transparent !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ------------------------------------------------------------------
   VUE TABBED COMPONENT STYLES
   ------------------------------------------------------------------ */

.tabbed-section {
  width: 100%;
  padding: 100px 0;
  background-color: #f8fafc;
  border-top: 1px solid #eef2f6;
  border-bottom: 1px solid #eef2f6;
  color: #1d2939;
  font-family: 'Outfit', 'Inter', sans-serif;
  overflow: hidden;
}

.tabbed-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

.tabbed-header {
  text-align: center;
  margin-bottom: 40px;
}

.tabbed-main-title {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.25;
  color: #39364e;
  margin: 0 0 16px 0;
}

.tabbed-main-subtitle {
  font-size: 16px;
  line-height: 1.8;
  color: #667085;
  max-width: 820px;
  margin: 0 auto;
}

/* Full-width underline nav bar with centered items */
.tabbed-nav-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 50px;
  border-bottom: 1px solid #e4e7ec;
}

.tabbed-nav-list {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 0;
  margin: 0;
  list-style: none;
}

.tabbed-nav-list::-webkit-scrollbar {
  display: none;
}

.tabbed-nav-item {
  border: none;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 4px;
  margin-right: 50px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  color: #667085;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  outline: none;
  font-family: inherit;
  position: relative;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
}

.tabbed-nav-item:last-child {
  margin-right: 0;
}

.tabbed-nav-item:hover {
  color: #1d2939;
}

.tabbed-nav-item.active {
  font-weight: 700;
  color: #377ef9;
  border-bottom: 3px solid #377ef9;
}

.tabbed-panels-wrapper {
  position: relative;
  min-height: 380px;
}

.tabbed-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.tabbed-col-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.tabbed-panel-heading {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.35;
  color: #39364e;
  margin: 0 0 16px 0;
}

.tabbed-panel-description {
  font-size: 16px;
  line-height: 1.8;
  color: #475467;
  margin: 0 0 32px 0;
}

.tabbed-panel-description p {
  margin: 0 0 16px 0;
  line-height: 1.8;
}

.tabbed-panel-description p:last-child {
  margin-bottom: 0;
}

.tabbed-action-wrapper {
  display: flex;
  align-items: center;
}

.tabbed-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: #377ef9;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 15px rgba(55, 126, 249, 0.25);
}

.tabbed-btn-primary:hover {
  background-color: #246bf0;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(55, 126, 249, 0.35);
  color: #ffffff;
}

.tabbed-col-media {
  position: relative;
}

.tabbed-image-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.tabbed-img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(16, 24, 40, 0.08);
  display: block;
  object-fit: cover;
}

/* ------------------------------------------------------------------
   LEGACY WPBakery vc_tta-tabs ADAPTER STYLES
   ------------------------------------------------------------------ */

.vc_row.wpb_row:has(.vc_tta-container),
.vc_row.wpb_row:has(.vc_tta-tabs) {
  background-color: #f8fafc !important;
  padding-top: 100px !important;
  padding-bottom: 100px !important;
  border-top: 1px solid #eef2f6 !important;
  border-bottom: 1px solid #eef2f6 !important;
}

.vc_tta-tabs .vc_tta-panel-heading {
  display: none !important;
}

.vc_tta-tabs .vc_tta-panels .vc_tta-panel:not(.vc_active) {
  display: none !important;
}

.vc_tta-tabs .vc_tta-panels .vc_tta-panel.vc_active {
  display: block !important;
}

.vc_tta-container,
.vc_tta.vc_tta-tabs {
  display: block !important;
  width: 100% !important;
}

.vc_tta-tabs-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  margin: 0 0 50px 0 !important;
}

.vc_tta-panels-container {
  display: block !important;
  width: 100% !important;
  clear: both !important;
}

.vc_tta-tabs .vc_tta-tabs-list {
  border-bottom: 1px solid #e4e7ec !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.vc_tta-tabs .vc_tta-tab {
  background: transparent !important;
  border: none !important;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 50px 0 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
}

.vc_tta-tabs .vc_tta-tab:last-child {
  margin-right: 0 !important;
}

.vc_tta-tabs .vc_tta-tab::before,
.vc_tta-tabs .vc_tta-tab::after,
.vc_tta-tabs-list li::before,
.vc_tta-tabs-list li::after {
  content: none !important;
  display: none !important;
}

.vc_tta-tabs .vc_tta-tab a {
  padding: 16px 4px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  color: #667085 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -1px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.vc_tta-tabs .vc_tta-tab:hover a {
  color: #1d2939 !important;
}

.vc_tta-tabs .vc_tta-tab.vc_active a {
  font-weight: 700 !important;
  color: #377ef9 !important;
  border-bottom: 3px solid #377ef9 !important;
  background: transparent !important;
}

/* Responsive */
@media (max-width: 991px) {
  .tabbed-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 767px) {
  .tabbed-section {
    padding: 60px 0;
  }

  .tabbed-nav-list,
  .vc_tta-tabs .vc_tta-tabs-list {
    gap: 20px;
  }

  .tabbed-nav-item,
  .vc_tta-tabs .vc_tta-tab {
    margin-right: 20px !important;
    font-size: 14px;
  }
}
