/* Compact product cards with physically printed, color-coded bottle artwork. */
.theme-modern-korean .product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.theme-modern-korean .product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.theme-modern-korean .product-card[hidden] { display: none; }
.theme-modern-korean .product-image-button {
  display: grid;
  place-items: center;
  min-height: 0;
  height: 216px;
  overflow: hidden;
  width: 100%;
  padding: 0;
  border-right: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.bottle-visual {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  container-type: inline-size;
}
.theme-modern-korean .bottle-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: none;
  max-height: none;
  padding: 0;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  filter: none;
  border-radius: 0;
  transform: none;
}
/* Use the image canvas margins to shorten the card while keeping the full bottle. */
.theme-modern-korean .product-image-button .bottle-visual {
  width: min(240px, 100%);
  height: 216px;
  aspect-ratio: auto;
  overflow: hidden;
}
.theme-modern-korean .product-image-button .bottle-visual img {
  aspect-ratio: auto;
  transform: scale(1.2);
  transform-origin: center 51%;
}
.theme-modern-korean .product-card-body { flex: 1; padding: 14px 16px 0; }
.theme-modern-korean .product-meta { font-size: .875rem; letter-spacing: .02em; }
.theme-modern-korean .product-card h3 { min-height: 0; margin: 6px 0 8px; font-size: 1.125rem; line-height: 1.35; word-break: keep-all; }
.theme-modern-korean .product-card p { display: block; min-height: 0; overflow: visible; font-size: 1rem; line-height: 1.5; word-break: keep-all; }
.theme-modern-korean .product-tags { display: flex; gap: 5px; margin: 10px 0 8px; }
.theme-modern-korean .product-tags span { padding: 3px 6px; font-size: .8125rem; }
.theme-modern-korean .product-card-actions { grid-template-columns: 1fr 1fr; margin-top: auto; }
.theme-modern-korean .product-card-actions button { min-height: 44px; font-size: .875rem; }
.theme-modern-korean .product-card-actions > :first-child { border-right: 1px solid var(--line); border-bottom: 0; }
.theme-modern-korean .product-image-note { margin: 16px 0 0; color: var(--muted); font-size: .8125rem; line-height: 1.6; text-align: center; }
.theme-modern-korean .product-dialog { width: min(1040px, calc(100% - 32px)); max-height: 90vh; max-height: 90dvh; overflow: auto; }
.theme-modern-korean .product-dialog .dialog-body { grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); }
.theme-modern-korean .product-dialog .dialog-visual { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 32px 20px; background: #fff; }
.theme-modern-korean .dialog-visual .bottle-visual { max-width: 340px; }
.theme-modern-korean .product-dialog .dialog-copy { min-width: 0; padding: 32px 30px; }
.theme-modern-korean .product-dialog .dialog-copy h2 { font-size: clamp(1.5rem, 3vw, 2rem); word-break: keep-all; }
.theme-modern-korean .dialog-tagline,
.theme-modern-korean .dialog-list li,
.theme-modern-korean .dialog-usage-list p,
.theme-modern-korean .dialog-spec p { font-size: 1rem; line-height: 1.7; }
.theme-modern-korean .dialog-info-section { margin-top: 22px; }
.theme-modern-korean .dialog-info-section > h3 { font-size: 1rem; }
.theme-modern-korean .dialog-info-grid dt { font-size: .875rem; }
.theme-modern-korean .dialog-info-grid dd,
.theme-modern-korean .dialog-uses span,
.theme-modern-korean .dialog-actions button { font-size: .875rem; }
.theme-modern-korean .dialog-list li::before { top: 18px; }
.theme-modern-korean .dialog-usage-list span { padding-top: 3px; font-size: .875rem; }
.theme-modern-korean .inquiry-summary-image { height: auto; min-height: 0; }
.theme-modern-korean .inquiry-summary-image .bottle-visual { max-width: 240px; }
@media (max-width: 1100px) {
  .theme-modern-korean .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-modern-korean .product-card h3 { min-height: 0; }
}
@media (max-width: 860px) {
  .theme-modern-korean .product-dialog .dialog-body { grid-template-columns: minmax(0, 1fr); }
  .theme-modern-korean .product-dialog .dialog-visual { padding: 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .theme-modern-korean .dialog-visual .bottle-visual { width: 220px; }
  .theme-modern-korean .product-dialog .dialog-copy { padding: 24px 20px; }
  .theme-modern-korean .inquiry-product-summary { grid-template-columns: minmax(0, 1fr); text-align: center; }
  .theme-modern-korean .inquiry-summary-image { grid-row: auto; border-bottom: 0; margin-bottom: 0; }
  .theme-modern-korean .inquiry-summary-image .bottle-visual { width: min(220px, 100%); }
  .theme-modern-korean .inquiry-product-summary dl { grid-column: auto; text-align: left; }
}
@media (max-width: 560px) {
  .theme-modern-korean .product-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .theme-modern-korean .product-image-button,
  .theme-modern-korean .product-image-button .bottle-visual { height: 200px; }
  .theme-modern-korean .product-card-body { padding: 14px 18px 0; }
  .theme-modern-korean .product-card p { min-height: 0; }
}
