
.products-section { padding: 80px 0; background-color: white; }
.container { width: 100%; max-width: var(--width-xl); margin: 0 auto; padding: 0 24px; }
.section-header { text-align: center; margin-bottom: 64px; }
.sub-title { color: var(--primary); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.875rem; display: block; }
.main-title { font-size: 2.25rem; font-weight: 700; color: var(--g_charcoal); margin: 8px 0 16px 0; }
.divider { width: 96px; height: 4px; background-color: var(--orange); margin: 0 auto; border-radius: 9999px; }
.description { color: var(--g_600); margin-top: 16px; max-width: 600px; margin-left: auto; margin-right: auto; line-height: 1.6; }
.products-grid {position: relative;display: grid;grid-template-columns: 1fr;gap: 32px;}
.product-card {background-color: white;border-radius: 12px;overflow: hidden;border: 1px solid var(--g_200);display: flex;flex-direction: column;box-shadow: var(--shadow-md);transition: all 0.3s ease;position: relative;}
.product-card:hover { box-shadow: var(--shadow-xl); transform: translateY(-4px); }
.card-image-wrapper {position: relative;overflow: hidden;aspect-ratio: 10/7;}
.card-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.product-card:hover .card-image { transform: scale(1.1); }
.card-tag { position: absolute; top: 16px; right: 16px; background-color: var(--orange); color: var(--g_charcoal); font-size: 0.75rem; font-weight: 700; padding: 4px 12px; border-radius: 9999px; text-transform: uppercase; letter-spacing: 0.05em; box-shadow: var(--shadow-md); z-index: 10; }
.card-overlay {position: absolute;inset: 0;transition: background-color 0.3s ease;}
.product-card:hover .card-overlay { background-color: transparent; }

.card-content { padding: 24px; flex-grow: 1; display: flex; flex-direction: column; }
.card-header-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
.product-name { font-size: 1.25rem; font-weight: 700; color: var(--g_charcoal); margin: 0; transition: color 0.3s; }
.product-card:hover .product-name { color: var(--primary); }
.product-price { font-size: 1.125rem; font-weight: 700; color: var(--primary); white-space: nowrap; }
.product-desc { color: var(--g_500); font-size: 0.875rem; margin-bottom: 24px; line-height: 1.5; flex-grow: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.btn-add-cart button , .btn-add-cart .contact_btn { width: 100%; background-color: var(--g_charcoal); color: white; padding: 12px; border-radius: 8px; font-weight: 500; border: none; cursor: pointer; transition: background-color 0.3s; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 1rem; }
.btn-add-cart button:hover ,.btn-add-cart .contact_btn:hover { background-color: var(--primary); }
.btn-add-cart button svg { width: 18px; height: 18px; }   
.section-footer { margin-top: 64px; text-align: center; }
.btn-view-all { display: inline-flex; align-items: center; justify-content: center; padding: 12px 32px; border: 1px solid var(--g_300); background-color: white; color: var(--g_700); font-weight: 500; border-radius: 9999px; text-decoration: none; transition: background-color 0.3s; }
.btn-view-all:hover { background-color: var(--g_100); }
.btn-add-cart button:active { transform: scale(0.95); }


@media (min-width: 768px) {
    .products-grid { grid-template-columns: repeat(3, 1fr); gap: 48px; }
}