body { font-family: 'Helvetica Neue', Arial, sans-serif; background-color: #fcfaf7; color: #444; margin: 0; }
header { background: #3e2723; color: #fff; padding: 3rem 1rem; text-align: center; }
.container { max-width: 1200px; margin: 40px auto; padding: 0 20px; }

.boot-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
    gap: 30px; 
}

.boot-card { 
    background: #fff; 
    border-radius: 12px; 
    overflow: hidden; 
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    padding: 15px;
}

.boot-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0,0,0,0.1); }

.boot-image img { 
    width: 100%; 
    height: 250px; 
    object-fit: contain; /* Keeps boot proportions perfect */
    margin-bottom: 15px;
}

.boot-info h3 { font-size: 1rem; margin: 0 0 10px 0; height: 2.4em; overflow: hidden; line-height: 1.2; }
.category { color: #8d6e63; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; }

.buy-button { 
    display: block; 
    background: #ffa41c; /* Amazon Orange */
    color: #000; 
    text-decoration: none; 
    text-align: center; 
    padding: 12px; 
    border-radius: 25px; 
    font-weight: bold;
    font-size: 0.9rem;
    margin-top: auto;
}
.buy-button:hover { background: #ffb74d; }

.disclaimer { margin-top: 50px; font-size: 0.8rem; color: #888; border-top: 1px solid #ddd; padding-top: 20px; text-align: center; }

/* This ensures the image never overflows the card */
.boot-image {
    width: 100%;
    height: 300px; /* Adjust this to the height you want */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: #fff;
    padding: 10px;
}

.boot-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* This prevents the boot from looking stretched */
}