/* ============================================================
   제품안내
   ============================================================ */

.cat-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
    gap: 48px;
    align-items: center;
    margin-bottom: 56px;
}

.cat-intro__visual {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: 1px solid var(--line);
}

.cat-intro__visual img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 992px) {
    .cat-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-bottom: 36px; }
}

/* ---------- 제품 상세 ---------- */
.pd {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px;
    align-items: start;
}

.pd__visual {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--bg-soft);
}

.pd__visual img { width: 100%; height: 100%; object-fit: cover; }

.pd__cat {
    font-family: var(--font-en);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--brand);
    margin-bottom: 12px;
}

.pd__title {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--ink);
}

.pd__summary {
    margin-top: 14px;
    font-size: 17px;
    color: var(--muted);
    line-height: 1.7;
}

.pd__features { margin-top: 28px; display: grid; gap: 10px; }

.pd__feature {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 16px;
    color: var(--body);
}

.pd__feature::before {
    content: '';
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-top: 10px;
    background: var(--brand);
}

.pd__actions { margin-top: 32px; display: flex; gap: 10px; flex-wrap: wrap; }

.pd__block { margin-top: 40px; }

.pd__block-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ink);
}

@media (max-width: 992px) {
    .pd { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .pd__title { font-size: 26px; }
}
