/* ==========================================================================
   Products Page Specific Styles
   ========================================================================== */

/* セクション設定 */
.product-section {
    padding: 100px 0;
}

.bg-light {
    background: var(--main-color-light);
}

h3 {
    font-size: 1.3rem;
    color: var(--main-color);
    margin-bottom: 20px;
    border-left: 4px solid var(--main-color);
    padding-left: 15px;
}

/* タングステン針詳細 */
.tn {
    display: flex;
    align-items: center;
}

.tn h2{
    margin-bottom: 100%;
    margin-left: 2%;
}

.product-main-img {
    background-color: #FFFA;
    padding: 10px;
    max-width: 500px;
    margin: 0 auto 60px;
}

.product-main-img img {
    width: 100%;
    height: auto;
}

.info-grid {
    display: grid;
    grid-template-columns: 6fr 5fr;
    gap: 30px;
    margin-bottom: 60px;
}

.info-box ul {
    list-style: none;
}

.info-box ul li {
    list-style-type: "・";
	margin-left: 2rem;
}

.product-detail-box {
    background: #ffffff66;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid var(--main-color-border);
    padding: 40px;
    margin-bottom: 60px;
    border-radius: 4px;
}

.product-detail-box p,
.product-detail-box ul{
    padding-left: 2.5%;
}

.product-detail-box small {
    display: block;
    text-align: right;
}
.shape-img {
	margin: 1rem;
}

.spec-table {
    width: 100%;
    max-width: 600px;
    border-collapse: collapse;
    margin-bottom: 60px;
}

.spec-table th, .spec-table td {
    padding: 15px;
    border-bottom: 1px solid #ddd;
}

.spec-table th {
    width: 150px;
    text-align: left;
    background: #00a4b30d;
}

.spec-item {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 5.5rem;
	margin: 0 auto;
}


/* 先端形状・事例グリッド */
.tip-grid, .case-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 20px;
}

.tip-grid { grid-template-columns: repeat(4, 1fr); }
.case-grid { grid-template-columns: 1fr 1fr; max-width: 600px; }

.tip-item, .case-item {
    text-align: center;
}

.tip-item p, .case-item p {
    font-weight: 700;
    margin-bottom: 10px;
    font-size: 0.9rem;
}

.tip-shapes {
	padding-bottom: 50px;
}

/* 加工品事例グリッド */
.parts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
    margin-top: 40px;
}

.parts-item {
    background: #fff;
    border: 1px solid #eee;
    padding: 12px;
    display: flex;
    flex-direction: column;
}

.parts-item img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    margin-bottom: 15px;
}

.parts-item p {
    font-size: 0.9rem;
    font-weight: 700;
    margin-top: auto;
    text-align: center;
}


/* バリエーションテーブル */
.variation-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    margin-bottom: 30px;
}
.variation-table th:nth-child(1) { width: 40%; }

.variation-table th, .variation-table td {
    border: 1px solid #ddd;
    padding: 20px;
    vertical-align: top;
}

.variation-table th {
    background: var(--main-color);
    color: #fff;
}
.variation-table td {
    text-align: center;
	position: relative;
	left: -0.5rem;
}

.dia-group-upper,
.dia-group-lower {
    display: flex;
    margin-bottom: 10px;
	justify-content: center;
}

.dia-label {
    white-space: nowrap;
    margin-right: 5px;
}

.other-variations {
    background: #f9f9f9;
    padding: 30px;
    border-left: 4px solid var(--main-color);
}

.other-variations h4 {
    margin-bottom: 10px;
    color: var(--main-color);
}

/* プローブ */

.feature-box {
    margin-bottom: 50px;
}

.feature-box p {
    margin-bottom: 10px;
	margin-left: 1rem;
}
.variation-simple p {
	margin-left: 1rem;
}

.probe-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.probe-item {
    text-align: center;
}

.probe-item img {
    margin-bottom: 15px;
}

.probe-spec-container {
    display: inline-block;
    margin-top: 15px;
}

.probe-spec-container dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 2px;
    line-height: 1.6;
}

.probe-spec-container dt {
    text-align: left;
}

.probe-spec-container dd {
    text-align: right;
}


/* モバイル対応 */
@media (max-width: 768px) {
    .product-section { padding: 60px 0; }
    .info-grid, .tip-grid, .case-grid, .parts-grid, .probe-gallery {
        grid-template-columns: 1fr;
    }
    .spec-table th { width: 100px; }

    .parts-item img { height: auto; }
    .tn {
        display: block;
    }
    .tn h2 {
        margin-bottom: 0;
    }
    .dia-group-upper, 
    .dia-group-lower {
        display: block;
    }

    .dia-label {
        display: block;
        margin-bottom: 5px;
    }
}