/* Global Styles */
ul.specs-nav {
padding-left: 10px;
}

li.specs-tab {
	margin-bottom: 15px;
}

.single-content ul, .single-content ol {
	margin-bottom: 15px;
}


div.specs-viewport {
	padding-bottom: 80px;
}


ul.specs-nav {
list-style: none!important;
}


ul.product-content {
  padding: 0;
  margin: 0;
}

a.product-content {
  text-decoration: none;
  color: inherit;
}

h3.product-content {
  margin: 0;
  font-weight: 500;
  font-size: 15px;
}

p.product-content {
  margin: 0;
}

/* Main Container */
.specs {
  display: flex;
  max-width: 1200px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  height: 600px; /* Fixed height based on design */
}

/* Sidebar Navigation */
.specs-nav-wrap {
    width: 200px;
    background-color: #f7f8fa; /* Light gray sidebar */
    flex-shrink: 0;
    padding-top: 20px;
}

.specs-tab {
    position: relative;
    padding: 0; /* Removed padding to let link fill the area */
    cursor: pointer;
    transition: all 0.2s;
}

.specs-link {
    display: flex; /* Use flex to align content if needed, or block */
    align-items: center;
    width: 100%;
    padding: 12px 5px 12px 24px; /* Padding moved here for click area */
    box-sizing: border-box; /* Ensure padding includes in width */
    height: 100%;
}

.specs-tab .h3-post {
    font-size: 15px!important;
    color: #666;
    font-weight: 500;
    
}


.specs-nav-wrap a {
text-decoration: none!important;
}

/* Active Tab Style */
.specs-tab.active {
    background-color: #fff;
    border-radius: 30px 0 0 30px; /* More rounded */
    margin-left: 10px; /* Detach from left edge */
    padding-left: 0; /* Padding handled by link */
    box-shadow: -2px 1px 4px rgba(0,0,0,0.03);
}

.specs-tab.active .h3-post {
    color: #333;
    font-weight: 600;
}

/* Red Dot Indicator */
.specs-tab.active::before {
content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 15px;
    background-color: #36b1dd;
}

/* Content Area */
.specs-body {
    flex: 1;
    background-color: #fff;
    padding: 0;
    overflow: hidden;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.specs-viewport {
    height: 100% !important;
    overflow-y: auto;
    padding: 20px 20px 0px 30px; /* More padding inside */
    box-sizing: border-box;
}

/*/* Scrollbar Styling */*/
/*.specs-viewport::-webkit-scrollbar {*/
/*    width: 15px; /* Thinner scrollbar */*/
/*}*/


.specs-viewport::-webkit-scrollbar-track {
    background: transparent;
    margin-top: 10px;
    margin-bottom: 10px;
}

.specs-viewport::-webkit-scrollbar-thumb {
    background-color: #d1d5db;
    border-radius: 10px;
}

/* Specs List */
.specs-group {
  margin-bottom: 20px;
}

/* Section Headings (e.g., "Lens") */
.specs-item:has(.specs-heading) {
  background-color: transparent !important;
  padding: 15px 0 10px 0;
}

.specs-heading {
  display: block;
  font-size: 20px;
  font-weight: 500;
  color: #333;
  margin-bottom: 15px; /* Add space below heading */
}

/* Specs Rows */
.specs-item {
  display: flex;
  padding: 12px 20px;
  font-size: 15px;
  line-height: 1.5;
}

/* Zebra Striping */
.specs-item:not(:has(.specs-heading)):nth-child(2n) {
  background-color: #f7f8fa; /* Light gray background */
}

.specs-item:not(:has(.specs-heading)):nth-child(2n + 1) {
  background-color: #fff;
}

/* Key (Label) */
.specs-key {
  width: 200px; /* Fixed width for labels */
  flex-shrink: 0;
  color: #666;
  font-weight: 400;
}

/* Value */
.specs-val {
  padding-left: 10px;
  flex: 1;
  color: #333;
  min-width: 0; /* 允许 Flex 子项收缩，触发换行 */
  word-wrap: break-word; /* 兼容旧版浏览器 */
  overflow-wrap: break-word; /* 标准属性：长单词换行 */
}

.specs-val p:last-child {
    margin-bottom: 0.5em;
}

.specs-group:last-child {
    margin-bottom: 179px;
}

/* Mobile Responsive - Accordion Style */
@media (max-width: 767px) {
    .product-content {
        padding: 10px;
        padding-top: 20px;
    }

    .specs {
        flex-direction: column;
        width: 100%;
        height: auto;
        min-height: auto;
    }

    .specs-nav-wrap {
        display: none; /* Hide sidebar tabs */
    }

    .specs-body {
        width: 100%;
        height: auto;
    }

    .specs-viewport {
        padding: 20px 20px 20px 30px;
        height: auto !important;
        overflow: visible; /* Disable internal scroll */
    }

	.single-content ul, .single-content ol {
	    padding-left: 1px;
	}


    .specs-group {
        margin-bottom: 0;
        border-bottom: 1px solid #f0f0f0;
    }

    .specs-group:last-child {
        margin-bottom: 0;
        border-bottom: none;
    }

    .product-content .wp-block-kadence-dynamichtml {
    	width: 100%;
    }

.site-container {
	padding: 0;
}

	
    /* Accordion Header */
    .specs-item:has(.specs-heading) {
        margin: 0;
        padding: 16px 20px;
        background-color: #fff !important;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #f9f9f9;
        transition: background-color 0.2s;
    }

    .specs-item:has(.specs-heading):hover {
        background-color: #f5f5f9 !important;
    }

    .specs-heading {
        margin-bottom: 0;
        font-size: 18px;
    }

    /* Accordion Arrow Icon */
    .specs-item:has(.specs-heading)::after {
        content: "";
        width: 8px;
        height: 8px;
        border-right: 2px solid #ccc;
        border-bottom: 2px solid #ccc;
        transform: rotate(45deg);
        transition: transform 0.3s;
        margin-right: 5px;
    }

    .specs-group.expanded .specs-item:has(.specs-heading)::after {
        transform: rotate(-135deg);
        margin-top: 5px;
    }

    /* Hide content by default in mobile */
    .specs-group:not(.expanded) .specs-item:not(:has(.specs-heading)) {
        display: none;
    }

    .specs-item:not(:has(.specs-heading)) {
        flex-direction: column; /* 上下排版 */
        padding: 15px 10px 15px 10px;
        background-color: #fff !important; /* 取消灰白色对比，统一为白色 */
        border-bottom: 1px solid #75afd9;
        gap: 4px; /* key 和 val 之间的间距 */
    }

    /* Remove Stripe for mobile */
    .specs-group.expanded .specs-item:not(:has(.specs-heading)):nth-child(even) {
        background-color: #fff !important;
    }

    .specs-key {
        width: 100%;
        padding-bottom: 10px;
        font-size: 17px;
        color: #7b7b8f; /* 稍微调淡 key 的颜色以区分 */
        font-weight: 500;
    }


    .specs-val {
        width: 100%;
        font-size: 16px;
        color: #333;
    }

    p.mb-p {
      line-height: 2;
      margin-bottom: 15px;
    }

    
	div.specs-viewport {
		padding-bottom: 30px;
	}

}


@media (max-width: 1000px) {
	ul.specs-group {
  padding-left: 0;
  margin-bottom: 20px;
	}
}


@media (min-width: 768px) {
	.specs-heading{
		margin-top: 30px;
	}
}
