/* 商品概要は整列し、詳細は標準HTMLの開閉機能で表示する。 */
.c-product-card { min-width: 0; padding: 32px; border: 1px solid #1b5fa826; border-radius: 8px; background: #fff; box-shadow: 0 8px 32px #0a2e520b; }
.c-product-card__summary { display: grid; grid-template-columns: 176px minmax(0, 1fr); gap: 24px; align-items: center; min-height: 232px; }
.c-product-card__image { width: 176px; height: 232px; border-radius: 4px; object-fit: contain; }
.c-product-card__content { display: flex; flex-direction: column; gap: 16px; }
.c-product-card__content h3 { min-height: 60px; color: var(--color-main); font-size: 18px; line-height: 30px; }
.c-product-card__content > p:not(.c-product-card__price) { min-height: 78px; font-size: 14px; line-height: 26px; }
.c-product-card__price { color: var(--color-main); font-size: 20px; font-weight: 500; line-height: 32px; }
.c-product-card__details { margin-top: 24px; border-radius: 4px; background: var(--color-mist); }
.c-product-card__details summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 24px; color: var(--color-support); font-size: 14px; font-weight: 500; line-height: 26px; cursor: pointer; list-style: none; }
.c-product-card__details summary::-webkit-details-marker { display: none; }
.c-product-card__details summary:focus-visible { outline: 3px solid var(--color-support); outline-offset: 3px; }
.c-product-card__opened { display: none; }
.c-product-card__symbol::before { content: "＋"; }
.c-product-card__details[open] .c-product-card__symbol::before { content: "－"; }
.c-product-card__details[open] .c-product-card__closed { display: none; }
.c-product-card__details[open] .c-product-card__opened { display: inline; }
.c-product-card__detail-copy { display: flex; flex-direction: column; gap: 16px; padding: 0 24px 24px; font-size: 14px; line-height: 26px; }
.c-product-card__detail-copy h4 { color: var(--color-main); font-size: 16px; line-height: 28px; font-weight: 500; }
@media (max-width: 1200px) and (min-width: 768px) {
  .c-product-card__summary { grid-template-columns: 130px minmax(0, 1fr); }
  .c-product-card__image { width: 130px; height: 200px; }
}
@media (max-width: 767px) {
  .c-product-card { padding: 24px; }
  .c-product-card__summary { grid-template-columns: 100px minmax(0, 1fr); gap: 16px; min-height: 0; }
  .c-product-card__image { width: 100px; height: 176px; }
  .c-product-card__content { gap: 16px; }
  .c-product-card__content h3 { min-height: 0; font-size: 16px; line-height: 26px; }
  .c-product-card__content > p:not(.c-product-card__price) { min-height: 0; font-size: 13px; line-height: 24px; }
  .c-product-card__price { font-size: 18px; line-height: 28px; }
  .c-product-card__details summary { padding: 16px; }
  .c-product-card__detail-copy { padding: 0 16px 24px; }
}
@media (max-width: 374px) {
  .c-product-card__summary { grid-template-columns: 80px minmax(0, 1fr); }
  .c-product-card__image { width: 80px; height: 160px; }
}
