.storefront {
    --shop-canvas: #f9f8f3;
    --shop-surface: #fffefa;
    --shop-panel: #e9ece0;
    --shop-ink: #22281f;
    --shop-muted: #5c6356;
    --shop-line: #e0e2d7;
    --shop-accent: #435d36;
    --shop-action: #31462a;
    --shop-action-hover: #253a20;
    --shop-action-text: #fffefa;
    background: var(--shop-canvas);
}

[data-theme="dark"] .storefront {
    --shop-canvas: #171b17;
    --shop-surface: #202620;
    --shop-panel: #293427;
    --shop-ink: #f3f3e9;
    --shop-muted: #c0c8b8;
    --shop-line: #3b4539;
    --shop-accent: #c4d9ae;
    --shop-action: #c4d9ae;
    --shop-action-hover: #dae8cb;
    --shop-action-text: #222c1c;
}

.storefront .header-top {
    background: #263524;
}

.storefront .header-part,
.storefront .navbar-part {
    background: var(--shop-surface);
    border-color: var(--shop-line);
    box-shadow: none;
}

.storefront .header-form {
    border-radius: 999px;
    border-color: var(--shop-line);
    background: var(--shop-canvas);
}

.storefront .header-form:focus-within {
    border-color: var(--shop-accent);
}

.storefront .sknav-link i:first-child,
.storefront .sknav-link:hover,
.storefront .header-form button:hover {
    color: var(--shop-accent);
}

.storefront .storefront-home {
    padding-top: clamp(18px, 3vw, 40px);
    background: var(--shop-canvas);
}

.storefront-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    background: var(--shop-panel);
    border-radius: 24px;
    overflow: hidden;
}

.storefront-hero-copy {
    align-self: center;
    padding: clamp(24px, 4.5vw, 64px);
}

.storefront-hero h1 {
    margin: 0 0 20px;
    color: var(--shop-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(38px, 4.45vw, 68px);
    font-weight: 400;
    line-height: 1.13;
    letter-spacing: -.045em;
    text-transform: none;
}

.storefront-hero h1 em {
    color: var(--shop-accent);
    font-weight: inherit;
}

.storefront-hero p {
    max-width: 35ch;
    margin: 0 0 28px;
    color: var(--shop-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.storefront-hero-visual {
    position: relative;
    min-height: 395px;
    background: #9b9678;
}

.storefront-hero-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 86% 56%;
}

.storefront-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 20px;
}

.storefront-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 18px;
    background: var(--shop-action);
    color: var(--shop-action-text);
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 600;
}

.storefront-primary:hover {
    background: var(--shop-action-hover);
    color: var(--shop-action-text);
}

.storefront-secondary {
    color: var(--shop-ink);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.storefront-secondary:hover {
    color: var(--shop-accent);
}

.storefront-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0 36px;
}

.storefront-shortcuts a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--shop-line);
    border-radius: 12px;
    background: var(--shop-surface);
    color: var(--shop-ink);
    line-height: 1.4;
}

.storefront-shortcuts a:hover {
    border-color: var(--shop-accent);
    color: var(--shop-accent);
}

.storefront-shortcuts i:first-child {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--shop-panel);
    color: var(--shop-accent);
}

.storefront-shortcuts i:last-child {
    color: var(--shop-accent);
    font-size: .75rem;
}

.storefront-shortcuts strong,
.storefront-shortcuts small {
    display: block;
}

.storefront-shortcuts strong {
    font-size: .875rem;
    font-weight: 650;
}

.storefront-shortcuts small {
    margin-top: 3px;
    color: var(--shop-muted);
    font-size: .75rem;
}

.storefront .storefront-section-heading,
.storefront .products-section-title {
    color: var(--shop-ink);
    font-size: clamp(23px, 2.45vw, 34px);
    line-height: 1.25;
    letter-spacing: -.03em;
    font-weight: 700;
    text-transform: none;
}

.storefront-section-heading {
    margin: 0 0 16px;
}

.storefront .home-categories-section {
    padding: 12px 0 0;
}

.storefront .categories-card-wrapper {
    padding: 6px 0;
    background: transparent;
}

.storefront .btn-parent-category {
    border-color: var(--shop-line);
    background: var(--shop-surface);
    color: var(--shop-ink);
    box-shadow: none;
}

.storefront .btn-parent-category:hover {
    border-color: var(--shop-accent);
}

.storefront .btn-parent-category.active {
    border-color: var(--shop-action);
    background: var(--shop-action);
    color: var(--shop-action-text);
    box-shadow: none;
}

.storefront .home-categories-section .category-icon-placeholder {
    background: var(--shop-panel);
    color: var(--shop-accent);
}

.storefront .home-products-section {
    margin-top: 32px;
    scroll-margin-top: 108px;
}

.storefront .products-section-header {
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--shop-line);
}

.storefront .btn-explore,
.storefront .btn-load-more {
    color: var(--shop-accent);
    background: var(--shop-surface);
    border: 1px solid var(--shop-line);
    border-radius: 8px;
    white-space: nowrap;
}

.storefront .btn-explore:hover,
.storefront .btn-load-more:hover {
    color: var(--shop-action-text);
    background: var(--shop-action);
}

.storefront .home-categories-section .category-card,
.storefront .product-card,
.storefront .rv-product-card {
    border: 1px solid var(--shop-line);
    border-radius: 14px;
    background: var(--shop-surface);
    box-shadow: 0 2px 4px rgba(29, 37, 25, .04);
}

.storefront .home-categories-section .category-card:hover,
.storefront .product-card:hover,
.storefront .rv-product-card:hover {
    border-color: var(--shop-accent);
    background: var(--shop-surface);
    box-shadow: 0 8px 20px rgba(29, 37, 25, .1);
}

.storefront .category-card-label,
.storefront .product-card-title,
.storefront .rv-product-title {
    color: var(--shop-ink);
}

.storefront .product-card-title {
    font-size: 1rem;
}

.storefront .product-price-current,
.storefront .product-price-range,
.storefront .product-card:hover .product-card-title,
.storefront .home-categories-section .category-card:hover .category-card-label {
    color: var(--shop-accent);
}

.storefront .product-image-placeholder {
    background: var(--shop-panel);
}

.storefront .product-image-placeholder i {
    color: var(--shop-accent);
}

.storefront .page-header-modern.page-header-compact {
    padding: 26px 0 30px;
    border-bottom: 1px solid var(--shop-line);
    background: var(--shop-panel);
}

.storefront .page-header-modern::before,
.storefront .page-header-modern::after {
    display: none;
}

.storefront .page-title-modern {
    color: var(--shop-ink);
    font-size: clamp(25px, 3vw, 42px);
    text-shadow: none;
    text-transform: none;
}

.storefront .breadcrumb-modern a,
.storefront .breadcrumb-modern .separator,
.storefront .page-subtitle-modern {
    color: var(--shop-muted);
}

.storefront .breadcrumb-modern .current,
.storefront .breadcrumb-modern a:hover {
    color: var(--shop-ink);
}

.storefront .products-filter-section {
    background: var(--shop-surface);
    border-color: var(--shop-line);
    border-radius: 12px;
}

.storefront-hero a:focus-visible,
.storefront-shortcuts a:focus-visible {
    outline: 2px solid var(--shop-accent);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .storefront-hero {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 16px;
    }

    .storefront-hero h1 {
        font-size: clamp(34px, 8vw, 54px);
    }

    .storefront-hero-visual {
        min-height: 0;
        aspect-ratio: 2 / 1;
    }

    .storefront-hero-visual img {
        object-position: 86% 73%;
    }

    .storefront-shortcuts {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin-bottom: 24px;
    }

    .storefront-shortcuts a {
        padding: 9px 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .storefront .product-card:hover,
    .storefront .product-card:hover .product-card-image img,
    .storefront .home-categories-section .category-card:hover,
    .storefront .rv-product-card:hover {
        transform: none;
        transition: none;
    }
}
