.amaral-sale-container { 
    max-width: 1200px; 
    margin: 40px auto; 
    padding: 0 20px; 
}
.sale-header-banner { 
    background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-light) 100%); 
    padding: 60px 40px; 
    border-radius: 20px; 
    text-align: center; 
    margin-bottom: 50px; 
    box-shadow: 0 20px 40px rgba(0,0,0,0.1); 
}
.sale-main-title { 
    font-size: 44px; 
    font-weight: 800; 
    color: var(--white); 
    margin: 0 0 10px 0; 
}
.sale-subtitle { 
    font-size: 18px; 
    color: var(--text-muted); 
    margin: 0; 
}
.sale-badge { 
    position: absolute; 
    top: 15px; 
    left: 15px; 
    background-color: #e5383b;
    color: var(--white); 
    font-size: 12px; 
    font-weight: 800; 
    padding: 5px 10px; 
    border-radius: 6px; 
    z-index: 10; 
    text-transform: uppercase; 
    letter-spacing: 0.5px; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); 
}
.cat-main-layout { 
    display: grid; 
    grid-template-columns: 280px 1fr; 
    gap: 40px; 
    align-items: start; 
}
.cat-sidebar { 
    background: var(--white); 
    border: 1px solid var(--bg-secondary); 
    border-radius: 16px; 
    padding: 30px; 
    box-shadow: 0 8px 30px rgba(0,0,0,0.05); 
    position: sticky; 
    top: 20px; 
}
.cat-sidebar-title { 
    font-size: 18px; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    color: var(--brand-dark); 
    margin-bottom: 20px; 
}
.cat-sidebar-list { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
}
.cat-sidebar-list li { 
    margin-bottom: 12px; 
}
.cat-sidebar-list a { 
    text-decoration: none; 
    font-size: 16px; 
    font-weight: 500; 
    color: var(--text-dark); 
    display: flex; 
    transition: color 0.3s ease; 
}
.cat-sidebar-list a:hover, 
.cat-sidebar-list a.active-filter { 
    color: var(--brand-light); 
    font-weight: 700; 
}
.cat-products-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 30px; 
}
.custom-related-card { 
    background: var(--white); 
    border-radius: 16px; 
    overflow: hidden; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); 
    display: flex; 
    flex-direction: column; 
    text-align: center; 
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
    border: 1px solid var(--bg-secondary); 
    position: relative; 
}
.custom-related-card:hover { 
    transform: translateY(-8px); 
    box-shadow: 0 20px 30px rgba(0,0,0,0.1); 
}
.custom-related-image-link { 
    display: block; 
    width: 100%; 
    aspect-ratio: 1/1; 
    overflow: hidden; 
    background: #fdfdfd; 
}
.custom-related-image-link img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    transition: transform 0.5s ease; 
}
.custom-related-card:hover .custom-related-image-link img { 
    transform: scale(1.1); 
}
.custom-related-content { 
    padding: 20px; 
    display: flex; 
    flex-direction: column; 
    flex-grow: 1; 
}
.custom-related-title-link { 
    text-decoration: none; 
    margin-bottom: 10px; 
}
.custom-related-title-link h3 { 
    font-size: 16px; 
    font-weight: 600; 
    color: var(--text-dark); 
    margin: 0; 
    line-height: 1.4; 
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; 
    overflow: hidden; 
}
.custom-related-title-link:hover h3 { 
    color: var(--brand-light); 
}
.custom-related-price { 
    font-size: 18px; 
    font-weight: 700; 
    color: var(--brand-dark); 
    margin: 15px 0; 
    flex-grow: 1; 
}
.custom-related-price del { 
    color: #9ca3af; 
    font-size: 14px; 
    font-weight: 400; 
    margin-right: 8px; 
}
.custom-related-price ins { 
    text-decoration: none; 
}
.custom-related-btn { 
    display: block; 
    background: var(--brand-light); 
    color: #ffffff !important; 
    padding: 12px 0; 
    border-radius: 8px; 
    text-decoration: none !important; 
    font-weight: 600; 
    transition: all 0.3s ease; 
    width: 100%; 
    border: none; 
    box-shadow: none;
    cursor: pointer; 
    outline: none;
    text-align: center;
}
.custom-related-btn:hover, 
.custom-related-btn:focus, 
.custom-related-btn:active { 
    background: var(--brand-light) !important; 
    color: #ffffff !important; 
    text-decoration: none !important; 
    outline: none; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
@media (max-width: 1024px) {
    .cat-main-layout { 
        grid-template-columns: 1fr; 
    }
    .cat-sidebar { 
        position: relative; 
        top: 0; 
        margin-bottom: 30px;
    }
    .cat-products-grid { 
        grid-template-columns: repeat(3, 1fr); 
    }
}
@media (max-width: 768px) {
    .sale-main-title {
        font-size: 32px;
    }
    .cat-products-grid { 
        grid-template-columns: repeat(2, 1fr); 
        gap: 20px; 
    }
}
@media (max-width: 480px) {
    .sale-header-banner {
        padding: 40px 20px;
    }
    .cat-products-grid { 
        grid-template-columns: 1fr; 
    }
}