.breadcrumb-row {
    gap: 8px;
    align-items: center;
    margin-bottom: 20px;
    font-size: 14px;
    color: #666;
    text-align: right;
}
.detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: 24px;
    align-items: start;
}
.detail-main-image-wrap { width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid #ececec; }
.detail-main-image { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.detail-thumb-list { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.thumb-button { width: 72px; height: 72px; padding: 0; border: 1px solid #ddd; background: #fff; overflow: hidden; }
.thumb-button img { width: 100%; height: 100%; object-fit: cover; }
.detail-title { margin: 0 0 17px; font-size: 26px; line-height: 1.35; }
.detail-info-table { width: 100%; border-collapse: collapse; }
.detail-info-table th, .detail-info-table td { padding: 12px 8px; border-bottom: 1px solid #ececec; text-align: left; vertical-align: top; }
.detail-info-table th { width: 110px; color: #555; font-size: 14px; }
.sale-price { font-size: 18px; font-weight: 800; color: #111; }
.detail-order-form { margin-top: 20px; }
.form-block { margin-bottom: 12px; }
.form-block label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.campaign-box, .summary-price-box {
    display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    padding: 12px 0; border-top: 1px solid #eee;
}
.summary-price-box { font-size: 14px; font-weight: 700; }
.detail-tab-section { margin-top: 32px; }
.tab-header-row { display: flex; gap: 0; border-bottom: 1px solid #222; }
.detail-tab-button {
    min-width: 180px; padding: 16px 20px; border: 1px solid #d6d6d6; border-bottom: 0;
    background: #f7f7f7; font-weight: 600; cursor: pointer;
}
.detail-tab-button.is-active { background: #fff; border-color: #222; }
.detail-tab-panel { display: none; border-top-left-radius: 0; }
.detail-tab-panel.is-active { display: block; }
.guide-section-block + .guide-section-block { margin-top: 28px; padding-top: 28px; border-top: 1px solid #ececec; }
.guide-section-block h3 { margin: 0 0 12px; font-size: 22px; }
.detail-content-images { display: flex; flex-direction: column; gap: 18px; }
.detail-content-images img { width: 100%; display: block; }
@media (max-width: 900px) {
    .detail-hero { grid-template-columns: 1fr; }
    .detail-title { font-size: 26px; }
    .sale-price { font-size: 24px; }
    .detail-tab-button { flex: 1; min-width: 0; }
}
