:root {
    --store-primary: #06a3da;
    --store-dark: #091e3e;
}

.min-vh-75 { min-height: 75vh; }
.z-index-1 { z-index: 1; }

.storefront-hero {
    min-height: 75vh;
    overflow: hidden;
    background: var(--store-dark);
}

.storefront-hero-image,
.storefront-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.storefront-hero-overlay {
    background: linear-gradient(90deg, rgba(9, 30, 62, .92), rgba(9, 30, 62, .55), rgba(9, 30, 62, .22));
}

.service-card,
.offer-card,
.product-card,
.product-placeholder,
.blog-card {
    border: 1px solid rgba(9, 30, 62, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.service-card:hover,
.offer-card:hover,
.product-card:hover,
.product-placeholder:hover,
.blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 .75rem 1.5rem rgba(9, 30, 62, .12) !important;
}

.service-icon {
    width: 72px;
    height: 72px;
    margin-inline: auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--store-primary);
    font-size: 1.75rem;
}

.product-placeholder img,
.product-card img,
.blog-card img { height: 205px; width: 100%; object-fit: cover; }

.product-detail-image img { max-height: 520px; object-fit: cover; }
.cart-link { white-space: nowrap; }
.shipping-event { border-left: 2px solid rgba(6, 163, 218, .35); }
.shipping-dot { position: absolute; left: -7px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--store-primary); }

#spinner {
    display: none !important;
    visibility: hidden !important;
}

@media (max-width: 991.98px) {
    .storefront-hero { min-height: 640px; }
    .min-vh-75 { min-height: 640px; }
}
