.details-main { padding: 36px 0 64px; min-height: 70vh; }
.details-intro { max-width: 780px; margin-bottom: 28px; }
.details-intro h1 { margin: 12px 0; font-size: clamp(28px, 4vw, 44px); }
.details-intro p, .details-product p { line-height: 1.75; }
.details-breadcrumb { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.details-status { border-left: 4px solid var(--forest); padding: 12px 18px; background: #e9f0e9; line-height: 1.7; }
.details-product { padding: 28px; margin: 24px 0; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; }
.details-product h2 { margin-top: 0; font-size: clamp(23px, 3vw, 30px); }
.details-category { color: var(--muted); }
.details-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.details-gallery figure { margin: 0; min-width: 0; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--line); }
.details-gallery img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.details-note { padding: 14px 18px; background: var(--sand); border-radius: 10px; }
.details-table-wrap { max-width: 100%; overflow-x: auto; margin: 20px 0 24px; }
.details-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
.details-table caption { text-align: left; font-weight: 700; margin-bottom: 10px; }
.details-table th, .details-table td { border-bottom: 1px solid var(--line); padding: 12px 14px; overflow-wrap: anywhere; }
.details-table th { background: #edf2ed; color: var(--forest); white-space: nowrap; }
.details-table td:first-child { min-width: 135px; }
.details-table td:nth-child(2) { min-width: 110px; }
.details-table td:last-child { min-width: 140px; }
.details-product .primary-button { min-height: 48px; padding: 14px 18px; line-height: 1.5; text-align: center; }
@media (max-width: 660px) {
  .details-main { padding-top: 24px; }
  .details-product { padding: 18px; }
  .details-gallery { grid-template-columns: 1fr; }
  .details-gallery img { max-height: 340px; }
  .details-table th, .details-table td { padding: 10px; }
  .details-header .brand small { display: none; }
  .details-header .secondary-button { padding: 0 12px; font-size: 12px; }
}
