.storefront-container { font-family: 'Trebuchet MS',Arial,sans-serif; }
body:has(.storefront-container) { background: #f7f5ef; }
body:has(.storefront-container) .navbar { background: #f7f5ef; box-shadow: none; border-bottom: 1px solid #d8ded5; }
body:has(.storefront-container) .nav-brand { color: #1e2d22; font-weight: 900; letter-spacing: -.06em; }
body:has(.storefront-container) .nav-links a { color: #1e2d22; text-decoration: none; font-weight: 700; font-size: 14px; }
body:has(.storefront-container) .btn-primary { background: #1e2d22; }
.storefront-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    flex: 1;
    width: 100%;
}

.storefront-container { max-width: 1280px; padding: 75px 28px; }
.storefront-container h1 { font-size: clamp(40px,5vw,68px); line-height: 1.05; letter-spacing: -.07em; color: #18221b; margin: 12px 0; }
.storefront-container h1 em { font-family: Georgia,serif; font-weight: 400; color: #667d39; }
.store-kicker { color: #667d39; font-size: 12px; font-weight: 900; letter-spacing: .15em; }
.store-intro { color: #687368; margin-bottom: 32px; }
.storefront-filters { display: flex; gap: 10px; flex-wrap: wrap; padding-bottom: 27px; border-bottom: 1px solid #d8ded5; }
.storefront-filters input,.storefront-filters select { padding: 12px 14px; border: 1px solid #cad1c7; background: white; border-radius: 7px; font: inherit; }
.storefront-filters input { min-width: min(100%,300px); }
#store-feedback { color: #687368; font-size: 13px; padding: 22px 0; }
.products-grid { gap: 20px; }
.product-card { cursor: auto; border: 1px solid #e1e5df; box-shadow: none; border-radius: 9px; }
.product-image { display: grid; place-items: center; height: 240px; font: 900 110px Georgia,serif; background: #d9e9b8; color: #455936; overflow: hidden; }
.product-card:nth-child(3n+2) .product-image { background: #f2ccb5; color: #ab573f; }
.product-card:nth-child(3n+3) .product-image { background: #d6dbed; color: #505b80; }
.product-image img { width: 100%; height: 100%; object-fit: cover; grid-area: 1/1; }
.product-info { padding: 22px; }
.product-title { font-size: 22px; letter-spacing: -.04em; margin-bottom: 8px; }
.product-description { font-size: 13px; color: #697268; min-height: 42px; }
.product-category { text-transform: uppercase; font-weight: 800; font-size: 11px; letter-spacing: .13em; color: #687f3e; margin-bottom: 8px; }
.product-actions { align-items: center; justify-content: space-between; }
.product-actions .btn { flex: 0 0 auto; background: #1e2d22; }
.product-price { margin: 0; color: #1e2d22; }

.storefront-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.storefront-header h1 {
    color: var(--primary);
}

.search-bar {
    display: flex;
    gap: 0.5rem;
}

.search-bar input {
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-size: 1rem;
    min-width: 250px;
}

.search-bar input:focus {
    outline: none;
    border-color: var(--primary);
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}

.product-card {
    background: white;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: transform 0.3s;
    cursor: pointer;
}

.product-card:hover {
    transform: translateY(-5px);
}

.product-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    background: var(--border);
}

.product-info {
    padding: 1.25rem;
}

.product-title {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--dark);
}

.product-price {
    color: var(--primary);
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.product-category {
    color: var(--gray);
    font-size: 0.9rem;
}

.product-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

.product-actions .btn {
    flex: 1;
    text-align: center;
    padding: 0.5rem;
    font-size: 0.9rem;
}
