/* good_pages.css — goods cards + detail */

.gc-card {
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
}
.gc-img-wrap { position: relative; overflow: hidden; line-height: 0; }
.gc-card:hover .gc-img { transform: scale(1.04); }
.gc-img {
    width: 100%; display: block;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}
.gc-bar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 10px; gap: 8px;
}
.gc-title {
    font-size: 13px; font-weight: 600; color: var(--text-1);
    flex: 1; min-width: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; line-height: 1.35;
}
.gc-price {
    font-size: 13px; font-weight: 700; color: var(--text-1);
    flex-shrink: 0; white-space: nowrap;
}
.gc-badge {
    position: absolute; top: 8px; right: 8px;
    font-size: 10px; font-weight: 700; color: #fff;
    background: var(--dark); padding: 2px 8px;
    border-radius: 20px; z-index: 2;
}
/* Detail: product layout */
.gc-product {
    display: flex; gap: 24px; align-items: flex-start;
}
.gc-product__visual { flex: 0 0 340px; max-width: 340px; }
.gc-product__info { flex: 1; min-width: 0; }
.gc-product__desc {
    font-size: 14px; font-weight: 500; color: var(--text-2);
    line-height: 1.6; margin: 0;
}

/* Detail gallery */
.gc-gallery { position: relative; }
.gc-gallery__track {
    overflow: hidden; border-radius: 8px;
    border: 1px solid var(--border);
}
.gc-gallery__list {
    display: flex; transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.gc-gallery__slide {
    flex: 0 0 100%; aspect-ratio: 1; overflow: hidden;
}
.gc-gallery__slide img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.gc-gallery__arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(255,255,255,0.9); border: none;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; z-index: 2; transition: all 0.15s;
    color: var(--text-1); font-size: 13px;
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 1px 6px rgba(0,0,0,0.1);
    opacity: 0;
}
.gc-gallery:hover .gc-gallery__arrow { opacity: 1; }
.gc-gallery__arrow:hover {
    background: #fff; transform: translateY(-50%) scale(1.08);
}
.gc-gallery__arrow--prev { left: 12px; }
.gc-gallery__arrow--next { right: 12px; }
.gc-gallery__dots {
    position: absolute; bottom: 12px; left: 50%;
    transform: translateX(-50%);
    display: flex; gap: 6px; z-index: 2;
}
.gc-gallery__dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: rgba(255,255,255,0.5); transition: all 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.gc-gallery__dot--active { background: #fff; transform: scale(1.3); }

@media (max-width: 640px) {
    .gc-bar { padding: 6px 8px; }
    .gc-title { font-size: 12px; }
    .gc-product { flex-direction: column; gap: 14px; }
    .gc-product__visual { flex: none; max-width: 100%; }
    .gc-gallery__arrow { opacity: 1; }
}
