/* === Product detail === */
.product-detail { padding: 20px 0; }
.detail-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.product-gallery { flex: 1; min-width: 280px; }
.product-swiper { width: 100%; border-radius: 28px; overflow: hidden; background: #fafcfd; border: 1px solid #eef2f8; position: relative; }
.product-swiper .swiper-slide { display: flex; align-items: center; justify-content: center; padding: 30px; background: #fafcfd; }
.product-swiper .swiper-slide img { max-width: 100%; max-height: 400px; width: auto; height: auto; object-fit: contain; }
.product-swiper .swiper-button-prev, .product-swiper .swiper-button-next { color: #1a5f9e; background: rgba(255,255,255,0.8); width: 36px; height: 36px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.product-swiper .swiper-button-prev:after, .product-swiper .swiper-button-next:after { font-size: 16px; }
.product-swiper .swiper-pagination-bullet-active { background: #1a5f9e; }
.product-info-detail { flex: 1; min-width: 280px; }
.product-info-detail h1 { font-size: 2rem; margin-bottom: 16px; word-break: break-word; }
.product-meta-item { margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.product-meta-label { font-weight: 700; min-width: 90px; }

/* === Full description === */
.product-description-full { margin-top: 20px; background: #f8fafd; border-radius: 28px; padding: 20px; border: 1px solid #eef2f8; }
.product-description-full h3 { font-size: 1.3rem; margin-bottom: 16px; font-weight: 600; }
.product-description-full img, .product-description-full table, .product-description-full iframe, .product-description-full video { max-width: 100% !important; height: auto !important; }
.product-description-full table { display: block; overflow-x: auto; white-space: nowrap; }

/* === Related products - show overrides === */
.product-card { height: 100%; display: flex; flex-direction: column; }
.product-info { flex-grow: 1; }
.product-info h3 { font-size: 1rem; }
.product-desc { font-size: 0.8rem; }
.related-products { margin-top: 24px; }
.related-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 16px; text-align: center; }
.related-swiper { overflow: hidden; padding-bottom: 50px; }
.swiper-slide { height: auto; }

/* === Modal (inquiry popup) === */
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); justify-content: center; align-items: center; z-index: 1000; }
.modal-content { background: white; max-width: 550px; width: 90%; padding: 28px; border-radius: 28px; position: relative; max-height: 90vh; overflow-y: auto; }
.modal-content h3 { margin-bottom: 20px; }
.modal-content input, .modal-content select, .modal-content textarea { width: 100%; padding: 12px; margin-bottom: 16px; border: 1px solid #cfdfed; border-radius: 24px; font-family: inherit; font-size: 14px; }
.close-modal { position: absolute; top: 16px; right: 20px; font-size: 24px; cursor: pointer; }

/* === Responsive - show-specific === */
@media (max-width: 768px) {
    .detail-grid { gap: 30px; }
    .product-info-detail h1 { font-size: 1.6rem; }
    .product-description-full { padding: 20px; margin-top: 30px; }
    .product-img { height: 150px; padding: 12px; }
}
@media (max-width: 480px) {
    .product-swiper .swiper-slide img { max-height: 220px; }
    .product-info-detail h1 { font-size: 1.4rem; }
    .product-img { height: 130px; }
    .btn-primary { padding: 10px 20px; font-size: 13px; }
    .modal-content { padding: 20px; }
}
