:root { --color-foreground: 18,18,18; --color-accent-2: 188,8,8; --color-bg-2: 243,243,243; --page-width: 1400px; }
.page-width { max-width: var(--page-width); margin: 0 auto; padding: 0 24px; }
.carousel-item img { width: 100%; height: 500px; object-fit: cover; }
@media (max-width: 992px) { .carousel-item img { height: 380px; } }
@media (max-width: 576px) { .carousel-item img { height: 200px; } }
.section { padding: 36px 0; }
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
@media (max-width: 990px) { .product-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px) { .product-grid { grid-template-columns: repeat(2,1fr); gap: 10px; } }
.card__inner { background: rgb(var(--color-bg-2)); overflow: hidden; aspect-ratio: 1; position: relative; }
.card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform 0.5s; display: block; }
.card-wrapper:hover .card__media img { transform: scale(1.05); }
.card__content {
    padding: 10px 10px;
}
.card__heading { font-size: 13px; font-weight: 500; margin: 0 0 6px; line-height: 1.4; }
.card__badge { position: absolute; bottom: 8px; left: 8px; }
.badge { display: inline-block; padding: 3px 8px; font-size: 11px; font-weight: 700; background: rgb(var(--color-accent-2)); color: #fff; }
.price--on-sale .price-sale { color: rgb(var(--color-accent-2)); font-weight: 700; font-size: 14px; }
.price-original { color: #888; text-decoration: line-through; font-size: 12px; }
.section-title { font-size: 22px; font-weight: 700; margin-bottom: 24px; }
.button { display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s; border: 1px solid transparent; font-family: inherit; }
.button--primary { background: rgb(var(--color-foreground)); color: #fff; border-color: rgb(var(--color-foreground)); }
.button--primary:hover { background: #333; color: #fff; }
.button--secondary { background: transparent; color: rgb(var(--color-foreground)); border-color: rgb(var(--color-foreground)); }
.button--secondary:hover { background: rgb(var(--color-foreground)); color: #fff; }
.button--full-width { width: 100%; }
.button--red { background: rgb(var(--color-accent-2)); color: #fff; border-color: rgb(var(--color-accent-2)); }
.button--red:hover { background: #a00707; color: #fff; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 36px 0; }
@media (max-width: 768px) { .product-detail { grid-template-columns: 1fr; gap: 24px; } }
.product-images .main-image { background: rgb(var(--color-bg-2)); aspect-ratio: 1; overflow: hidden; }
.product-images .main-image img { width: 100%; height: 100%; object-fit: contain; }
.product-thumbnails { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.product-thumbnails img { width: 72px; height: 72px; object-fit: contain; background: rgb(var(--color-bg-2)); border: 2px solid transparent; cursor: pointer; }
.product-thumbnails img.active,.product-thumbnails img:hover { border-color: rgb(var(--color-foreground)); }
.product-info h1 { font-size: 22px; font-weight: 700; margin-bottom: 12px; line-height: 1.3; }
.product-price { font-size: 22px; font-weight: 700; margin-bottom: 20px; }
.product-price .original { font-size: 16px; color: #888; text-decoration: line-through; margin-right: 8px; font-weight: 400; }
.product-price .sale-price { color: rgb(var(--color-accent-2)); }
.variant-btn { padding: 8px 16px; border: 1px solid #ddd; background: #fff; cursor: pointer; font-size: 13px; font-family: inherit; transition: all 0.2s; }
.variant-btn:hover,.variant-btn.active { border-color: rgb(var(--color-foreground)); background: rgb(var(--color-foreground)); color: #fff; }
.qty-wrap { display: flex; align-items: center; margin-bottom: 16px; }
.qty-btn { width: 40px; height: 44px; border: 1px solid #ddd; background: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-family: inherit; transition: all 0.2s; }
.qty-btn:hover { background: rgb(var(--color-foreground)); color: #fff; border-color: rgb(var(--color-foreground)); }
.qty-input { width: 60px; height: 44px; border: 1px solid #ddd; border-left: 0; border-right: 0; text-align: center; font-size: 16px; font-weight: 600; font-family: inherit; outline: none; }
.product-description { font-size: 14px; line-height: 1.7; color: #444; }
.form-group { margin-bottom: 16px; }
.form-label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.form-control { width: 100%; padding: 12px 14px; border: 1px solid #ddd; font-size: 14px; font-family: inherit; outline: none; transition: border 0.2s; }
.form-control:focus { border-color: rgb(var(--color-foreground)); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 576px) { .form-row { grid-template-columns: 1fr; } }
.cart-product-img { width: 80px; height: 80px; object-fit: contain; background: rgb(var(--color-bg-2)); }
.cart-summary { background: rgb(var(--color-bg-2)); padding: 24px; }
.cart-summary-row { display: flex; justify-content: space-between; padding: 10px 0; font-size: 14px; border-bottom: 1px solid #ddd; }
.alert { padding: 14px 20px; border-radius: 4px; margin-bottom: 16px; font-size: 14px; }
.alert-success { background: #d1fae5; border: 1px solid #6ee7b7; color: #065f46; }
.alert-danger { background: #fee2e2; border: 1px solid #fca5a5; color: #991b1b; }
.breadcrumb-custom { padding: 12px 0; font-size: 13px; color: #888; }
.breadcrumb-custom a { color: #888; }
