/* /Components/Blocks/BlogIndexBlock.razor.rz.scp.css */
.kw-block-blog[b-61rz2mqjqb] {
    padding: 7rem 2rem 5rem;
}

.kw-block-blog-header[b-61rz2mqjqb] {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 4rem;
}

.kw-block-blog-header h1[b-61rz2mqjqb] {
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.kw-block-blog-header p[b-61rz2mqjqb] {
    font-size: 1.0625rem;
    color: var(--kw-text-muted);
    line-height: 1.6;
}

.kw-block-blog-list[b-61rz2mqjqb] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 2rem;
}

.kw-blog-card-link[b-61rz2mqjqb] {
    display: block;
    text-decoration: none;
    color: inherit;
}

.kw-blog-card-image[b-61rz2mqjqb] {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #eaeded;
    margin-bottom: 1.25rem;
}

.kw-blog-card-image img[b-61rz2mqjqb] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.kw-blog-card:hover .kw-blog-card-image img[b-61rz2mqjqb] { transform: scale(1.04); }

.kw-blog-card-image-placeholder[b-61rz2mqjqb] {
    background: linear-gradient(135deg, #e4e8ea 0%, #f1f3f4 100%);
}

.kw-blog-card-body time[b-61rz2mqjqb] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.5rem;
}

.kw-blog-card-body h2[b-61rz2mqjqb] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--kw-text);
    letter-spacing: -0.01em;
    margin-bottom: 0.75rem;
    line-height: 1.25;
}

.kw-blog-card-body p[b-61rz2mqjqb] {
    font-size: 0.9375rem;
    color: var(--kw-text-muted);
    line-height: 1.6;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.kw-blog-card-more[b-61rz2mqjqb] {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.kw-blog-skeleton[b-61rz2mqjqb] {
    aspect-ratio: 3 / 2;
    background: #eaeded;
}

.kw-block-blog-empty[b-61rz2mqjqb] {
    text-align: center;
    color: var(--kw-text-muted);
    padding: 4rem 0;
}

@media (max-width: 900px) {
    .kw-block-blog-list[b-61rz2mqjqb] { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
    .kw-block-blog[b-61rz2mqjqb] { padding: 5rem 1.25rem 3rem; }
    .kw-block-blog-list[b-61rz2mqjqb] { grid-template-columns: 1fr; gap: 2.5rem; }
}
/* /Components/Blocks/BlogPostBlock.razor.rz.scp.css */
.kw-block-blogpost[b-6hv2wwrxlc] {
    padding: 0 0 5rem;
}

.kw-blogpost-header[b-6hv2wwrxlc] {
    padding: 7rem 2rem 2rem;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.kw-blogpost-header time[b-6hv2wwrxlc] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
}

.kw-blogpost-header h1[b-6hv2wwrxlc] {
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.kw-blogpost-excerpt[b-6hv2wwrxlc] {
    font-size: 1.125rem;
    color: var(--kw-text-muted);
    line-height: 1.6;
    max-width: 620px;
    margin: 0 auto;
}

.kw-blogpost-hero[b-6hv2wwrxlc] {
    max-width: 1080px;
    margin: 3rem auto 4rem;
    padding: 0 2rem;
}

.kw-blogpost-hero img[b-6hv2wwrxlc] {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    display: block;
}

.kw-blogpost-body[b-6hv2wwrxlc] {
    max-width: 720px;
    padding: 0 2rem;
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--kw-text);
}

.kw-blogpost-body p[b-6hv2wwrxlc] {
    margin-bottom: 1.5rem;
}

.kw-blogpost-body h2[b-6hv2wwrxlc] {
    font-size: 1.875rem;
    font-weight: 700;
    margin: 2.5rem 0 1rem;
}

.kw-blogpost-body h3[b-6hv2wwrxlc] {
    font-size: 1.375rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
}

.kw-blogpost-body a[b-6hv2wwrxlc] {
    color: var(--kw-accent);
    text-decoration: underline;
}

.kw-blogpost-body img[b-6hv2wwrxlc] {
    width: 100%;
    margin: 2rem 0;
}

.kw-blogpost-external[b-6hv2wwrxlc] {
    text-align: center;
    margin-top: 3rem;
}

.kw-blogpost-footer[b-6hv2wwrxlc] {
    max-width: 720px;
    padding: 3rem 2rem 0;
    margin: 0 auto;
    border-top: 1px solid var(--kw-border);
}

.kw-blogpost-backlink[b-6hv2wwrxlc] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
}

.kw-blogpost-notfound[b-6hv2wwrxlc], .kw-blogpost-loading[b-6hv2wwrxlc] {
    padding: 7rem 2rem;
    text-align: center;
}

.kw-blogpost-notfound h1[b-6hv2wwrxlc] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.kw-blogpost-notfound p[b-6hv2wwrxlc] {
    color: var(--kw-text-muted);
    margin-bottom: 2rem;
}

@media (max-width: 640px) {
    .kw-blogpost-header[b-6hv2wwrxlc] { padding: 5rem 1.25rem 1.5rem; }
    .kw-blogpost-hero[b-6hv2wwrxlc] { padding: 0 1.25rem; margin: 2rem auto 3rem; }
    .kw-blogpost-body[b-6hv2wwrxlc] { padding: 0 1.25rem; }
    .kw-blogpost-footer[b-6hv2wwrxlc] { padding: 2rem 1.25rem 0; }
}
/* /Components/Blocks/CategoryGridBlock.razor.rz.scp.css */
.kw-block-categories[b-jcy8aie5op] {
    padding: 5rem 0;
}

.kw-block-categories-title[b-jcy8aie5op] {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 3rem;
    color: var(--kw-text);
}

.kw-block-categories-grid[b-jcy8aie5op] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
    background: var(--kw-border);
}

.kw-cat-tile[b-jcy8aie5op] {
    position: relative;
    aspect-ratio: 4 / 5;
    background: var(--kw-dark);
    background-size: cover; background-position: center;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 1.5rem;
    text-decoration: none;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.4s ease;
}
.kw-cat-tile[b-jcy8aie5op]::before {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #2a2a2a 0%, #0f0f0f 100%);
    z-index: 0;
}
/* Image variant: drop the placeholder gradient and let the photo show. */
.kw-cat-tile--has-image[b-jcy8aie5op]::before { display: none; }
.kw-cat-tile:hover[b-jcy8aie5op] { transform: scale(1.01); }

.kw-cat-overlay[b-jcy8aie5op] {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%);
    transition: background 0.4s ease;
    z-index: 1;
}

.kw-cat-tile:hover .kw-cat-overlay[b-jcy8aie5op] {
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(47,64,68,0.5) 100%);
}

.kw-cat-name[b-jcy8aie5op] {
    position: relative;
    z-index: 2;
    color: var(--kw-light);
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}

.kw-cat-more[b-jcy8aie5op] {
    position: relative;
    z-index: 2;
    color: rgba(255,255,255,0.7);
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    transition: color 0.3s ease;
}
.kw-cat-tile:hover .kw-cat-more[b-jcy8aie5op] { color: var(--kw-light); }

.kw-cat-skeleton[b-jcy8aie5op] {
    aspect-ratio: 4 / 5;
    background: #eaeded;
}

.kw-block-categories-empty[b-jcy8aie5op] {
    color: var(--kw-text-muted);
    text-align: center;
    padding: 3rem 0;
}

@media (max-width: 1100px) {
    .kw-block-categories-grid[b-jcy8aie5op] { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 900px) {
    .kw-block-categories-grid[b-jcy8aie5op] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
    .kw-block-categories[b-jcy8aie5op] { padding: 3rem 0; }
    .kw-block-categories-grid[b-jcy8aie5op] { grid-template-columns: repeat(2, 1fr); }
    .kw-cat-tile[b-jcy8aie5op] { aspect-ratio: 1 / 1; }
}
/* /Components/Blocks/CtaBannerBlock.razor.rz.scp.css */
.kw-block-cta[b-xboi46pvab] {
    position: relative;
    padding: 6rem 2rem;
    background: var(--kw-dark);
    overflow: hidden;
    text-align: center;
}

.kw-block-cta-overlay[b-xboi46pvab] {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #131313 0%, #2a2a2a 100%);
    z-index: 0;
}

.kw-block-cta-inner[b-xboi46pvab] {
    position: relative;
    z-index: 1;
    max-width: 780px;
}

.kw-block-cta-eyebrow[b-xboi46pvab] {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 1.5rem;
}

.kw-block-cta h2[b-xboi46pvab] {
    color: var(--kw-light);
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.kw-block-cta-subtitle[b-xboi46pvab] {
    color: rgba(255,255,255,0.7);
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-bottom: 2.5rem;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.kw-block-cta-actions[b-xboi46pvab] {
    display: inline-flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

.fk-btn-whatsapp[b-xboi46pvab] {
    background: #25D366 !important;
    color: var(--kw-light) !important;
    display: inline-flex !important;
    align-items: center;
    gap: 0.625rem;
}
.fk-btn-whatsapp:hover[b-xboi46pvab] { background: #1eb353 !important; color: var(--kw-light) !important; }

@media (max-width: 640px) {
    .kw-block-cta[b-xboi46pvab] { padding: 4rem 1.25rem; }
    .kw-block-cta-actions[b-xboi46pvab] { flex-direction: column; width: 100%; }
    .kw-block-cta-actions .fk-btn[b-xboi46pvab] { justify-content: center; width: 100%; }
}
/* /Components/Blocks/FeaturedProductsBlock.razor.rz.scp.css */
.kw-block-featured[b-awjvwz3wvs] {
    padding: 5rem 2rem;
}

.kw-block-featured-title[b-awjvwz3wvs] {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 3rem;
    color: var(--kw-text);
}

.kw-block-featured-grid[b-awjvwz3wvs] {
    display: grid;
    gap: 2.5rem 1.5rem;
}

.kw-block-featured-grid[data-cols="2"][b-awjvwz3wvs] { grid-template-columns: repeat(2, 1fr); }
.kw-block-featured-grid[data-cols="3"][b-awjvwz3wvs] { grid-template-columns: repeat(3, 1fr); }
.kw-block-featured-grid[data-cols="4"][b-awjvwz3wvs] { grid-template-columns: repeat(4, 1fr); }
.kw-block-featured-grid[data-cols="5"][b-awjvwz3wvs] { grid-template-columns: repeat(5, 1fr); }

.kw-block-featured-skeleton[b-awjvwz3wvs] {
    display: grid;
    gap: 2.5rem 1.5rem;
    grid-template-columns: repeat(4, 1fr);
}
.kw-block-featured-skeleton[data-cols="2"][b-awjvwz3wvs] { grid-template-columns: repeat(2, 1fr); }
.kw-block-featured-skeleton[data-cols="3"][b-awjvwz3wvs] { grid-template-columns: repeat(3, 1fr); }
.kw-block-featured-skeleton[data-cols="5"][b-awjvwz3wvs] { grid-template-columns: repeat(5, 1fr); }

.kw-pskeleton[b-awjvwz3wvs] {
    aspect-ratio: 4/3;
    background: linear-gradient(90deg, #eaeded 0%, #f5f7f7 50%, #eaeded 100%);
    background-size: 200% 100%;
    animation: kw-shimmer-b-awjvwz3wvs 1.4s infinite;
}

@keyframes kw-shimmer-b-awjvwz3wvs {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.kw-block-featured-empty[b-awjvwz3wvs] {
    color: var(--kw-text-muted);
    font-size: 0.9375rem;
}

@media (max-width: 900px) {
    .kw-block-featured-grid[data-cols="4"][b-awjvwz3wvs],
    .kw-block-featured-grid[data-cols="5"][b-awjvwz3wvs] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
    .kw-block-featured[b-awjvwz3wvs] { padding: 3rem 1.25rem; }
    .kw-block-featured-grid[b-awjvwz3wvs],
    .kw-block-featured-skeleton[b-awjvwz3wvs] { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem 1rem; }
}
/* /Components/Blocks/FeaturesRowBlock.razor.rz.scp.css */
.kw-block-features[b-tjdt5ws0bp] {
    padding: 5rem 2rem;
    border-top: 1px solid var(--kw-border);
}

.kw-block-features-title[b-tjdt5ws0bp] {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    text-align: center;
    margin-bottom: 3rem;
    color: var(--kw-text);
}

.kw-block-features-grid[b-tjdt5ws0bp] {
    display: grid;
    gap: 2rem;
}

.kw-block-features-grid[data-cols="5"][b-tjdt5ws0bp] { grid-template-columns: repeat(5, 1fr); }
.kw-block-features-grid[data-cols="4"][b-tjdt5ws0bp] { grid-template-columns: repeat(4, 1fr); }
.kw-block-features-grid[data-cols="3"][b-tjdt5ws0bp] { grid-template-columns: repeat(3, 1fr); }
.kw-block-features-grid[data-cols="2"][b-tjdt5ws0bp] { grid-template-columns: repeat(2, 1fr); }

.kw-feature[b-tjdt5ws0bp] {
    text-align: center;
    padding: 1rem;
}

.kw-feature-icon[b-tjdt5ws0bp] {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 56px; height: 56px;
    margin-bottom: 1.25rem;
    color: var(--kw-accent);
    border: 1px solid var(--kw-border);
    border-radius: 50%;
}

.kw-feature h3[b-tjdt5ws0bp] {
    font-size: 0.9375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--kw-text);
    margin-bottom: 0.5rem;
}

.kw-feature p[b-tjdt5ws0bp] {
    font-size: 0.875rem;
    color: var(--kw-text-muted);
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 1024px) {
    .kw-block-features-grid[data-cols="5"][b-tjdt5ws0bp] { grid-template-columns: repeat(3, 1fr); }
    .kw-block-features-grid[data-cols="4"][b-tjdt5ws0bp] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .kw-block-features[b-tjdt5ws0bp] { padding: 3rem 1.25rem; }
    .kw-block-features-grid[b-tjdt5ws0bp] { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem; }
}
/* /Components/Blocks/HeroBannerBlock.razor.rz.scp.css */
.kw-block-hero[b-tecwr9tqmt] {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    color: var(--kw-light, #fff);
    overflow: hidden;
}

/* Fallback gradient when no background image is configured — uses brand tokens
   so the hero still has presence without a hero photo. Image-backed renders
   ignore this because background-image takes precedence. */
.kw-block-hero.no-bg-image[b-tecwr9tqmt] {
    background:
        radial-gradient(ellipse at top right, color-mix(in srgb, var(--kw-accent, #2F4044) 60%, transparent) 0%, transparent 60%),
        linear-gradient(135deg, var(--kw-accent-deep, #213B47) 0%, var(--kw-accent, #2F4044) 100%);
}

.kw-hero-overlay[b-tecwr9tqmt] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0.1) 100%);
}

.kw-hero-content[b-tecwr9tqmt] {
    position: relative;
    z-index: 1;
    padding: 5rem 2rem;
    width: 100%;
}

.kw-hero-content h1[b-tecwr9tqmt] {
    font-size: clamp(2.25rem, 5.5vw, 3.75rem);
    line-height: 1.1;
    margin-bottom: 1.25rem;
    font-weight: 800;
    color: inherit;
}

.kw-hero-subtitle[b-tecwr9tqmt] {
    font-size: 1.125rem;
    line-height: 1.6;
    opacity: 0.9;
    margin: 0 auto 2rem;
    max-width: 620px;
}

.kw-hero-cta[b-tecwr9tqmt] {
    font-size: 1.0625rem;
    padding: 0.875rem 2rem;
}

@media (max-width: 640px) {
    .kw-block-hero[b-tecwr9tqmt] {
        min-height: 400px;
    }

    .kw-hero-content[b-tecwr9tqmt] {
        padding: 3.5rem 1.25rem;
    }
}
/* /Components/Blocks/NewsGridBlock.razor.rz.scp.css */
.kw-block-news[b-mulmwqkh9m] {
    padding: 5rem 2rem;
}

.kw-block-news-title[b-mulmwqkh9m] {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 3rem;
    color: var(--kw-text);
}

.kw-block-news-grid[b-mulmwqkh9m] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.kw-news-card[b-mulmwqkh9m] {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.25s ease;
}

.kw-news-card:hover[b-mulmwqkh9m] { transform: translateY(-4px); }

.kw-news-image[b-mulmwqkh9m] {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #eaeded;
    margin-bottom: 1.25rem;
}

.kw-news-image img[b-mulmwqkh9m] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.kw-news-card:hover .kw-news-image img[b-mulmwqkh9m] { transform: scale(1.04); }

.kw-news-image-placeholder[b-mulmwqkh9m] {
    background: linear-gradient(135deg, #e4e8ea 0%, #f1f3f4 100%);
}

.kw-news-body time[b-mulmwqkh9m] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.5rem;
}

.kw-news-body h3[b-mulmwqkh9m] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kw-text);
    letter-spacing: -0.01em;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.kw-news-body p[b-mulmwqkh9m] {
    font-size: 0.9375rem;
    color: var(--kw-text-muted);
    line-height: 1.6;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.kw-news-read-more[b-mulmwqkh9m] {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.kw-news-skeleton[b-mulmwqkh9m] {
    aspect-ratio: 3 / 2;
    background: #eaeded;
}

.kw-block-news-empty[b-mulmwqkh9m] {
    color: var(--kw-text-muted);
    text-align: center;
    padding: 3rem 0;
}

.kw-block-news-footer[b-mulmwqkh9m] {
    text-align: center;
    margin-top: 3rem;
}

@media (max-width: 900px) {
    .kw-block-news-grid[b-mulmwqkh9m] { grid-template-columns: 1fr; gap: 2.5rem; }
}

@media (max-width: 640px) {
    .kw-block-news[b-mulmwqkh9m] { padding: 3rem 1.25rem; }
}
/* /Components/Blocks/ProductGridBlock.razor.rz.scp.css */
.kw-block-products[b-69stiunhrk] {
    padding: 5rem 2rem;
}

.kw-block-products-header[b-69stiunhrk] {
    margin-bottom: 2rem;
}

.kw-block-products-header h2[b-69stiunhrk] {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--kw-text);
}

.kw-block-products-filters[b-69stiunhrk] {
    margin-bottom: 3rem;
}

.kw-filter-row[b-69stiunhrk] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1rem;
    max-width: 900px;
}

.kw-filter-input[b-69stiunhrk],
.kw-filter-select[b-69stiunhrk] {
    padding: 0.75rem 1rem;
    font-family: var(--kw-font);
    font-size: 0.9375rem;
    color: var(--kw-text);
    background: var(--kw-light);
    border: 1px solid var(--kw-border);
    border-radius: 0;
    transition: border-color 0.2s;
}

.kw-filter-input:focus[b-69stiunhrk],
.kw-filter-select:focus[b-69stiunhrk] {
    outline: none;
    border-color: var(--kw-accent);
}

.kw-filter-select[b-69stiunhrk] {
    min-width: 160px;
    background-image: linear-gradient(45deg, transparent 50%, var(--kw-text) 50%),
                      linear-gradient(135deg, var(--kw-text) 50%, transparent 50%);
    background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    -webkit-appearance: none;
    appearance: none;
    padding-right: 2.5rem;
}

.kw-block-products-grid[b-69stiunhrk] {
    display: grid;
    gap: 2.5rem 1.5rem;
}

.kw-block-products-grid[data-cols="2"][b-69stiunhrk] { grid-template-columns: repeat(2, 1fr); }
.kw-block-products-grid[data-cols="3"][b-69stiunhrk] { grid-template-columns: repeat(3, 1fr); }
.kw-block-products-grid[data-cols="4"][b-69stiunhrk] { grid-template-columns: repeat(4, 1fr); }
.kw-block-products-grid[data-cols="5"][b-69stiunhrk] { grid-template-columns: repeat(5, 1fr); }

.kw-pskeleton[b-69stiunhrk] {
    aspect-ratio: 4/3;
    background: linear-gradient(90deg, #eaeded 0%, #f5f7f7 50%, #eaeded 100%);
    background-size: 200% 100%;
    animation: kw-shimmer-b-69stiunhrk 1.4s infinite;
}

@keyframes kw-shimmer-b-69stiunhrk {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.kw-block-products-count[b-69stiunhrk] {
    margin-top: 3rem;
    text-align: center;
    color: var(--kw-text-muted);
    font-size: 0.875rem;
}

.kw-block-products-empty[b-69stiunhrk] {
    padding: 4rem 0;
    text-align: center;
    color: var(--kw-text-muted);
    font-size: 1rem;
}

@media (max-width: 900px) {
    .kw-filter-row[b-69stiunhrk] { grid-template-columns: 1fr; }
    .kw-block-products-grid[data-cols="4"][b-69stiunhrk],
    .kw-block-products-grid[data-cols="5"][b-69stiunhrk] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
    .kw-block-products[b-69stiunhrk] { padding: 3rem 1.25rem; }
    .kw-block-products-grid[b-69stiunhrk] { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem 1rem; }
}
/* /Components/CheckoutCallback/ClaimAccountSection.razor.rz.scp.css */
.kw-claim-divider[b-ahz7e3fuzm] {
    border: 0;
    border-top: 1px solid var(--krome-border, #e5e2dc);
    margin: 2.5rem 0 2rem;
    width: 100%;
}

.kw-claim[b-ahz7e3fuzm] {
    max-width: 520px;
    margin: 0 auto;
    text-align: left;
}

.kw-claim-header[b-ahz7e3fuzm] {
    margin-bottom: 1.5rem;
    text-align: center;
}

.kw-claim-title[b-ahz7e3fuzm] {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--krome-text-primary, #161412);
    margin: 0 0 0.5rem 0;
}

.kw-claim-lede[b-ahz7e3fuzm] {
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--krome-text-muted, #6b6660);
    margin: 0;
    max-width: 42ch;
    margin-left: auto;
    margin-right: auto;
}

.kw-claim-form[b-ahz7e3fuzm] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.kw-claim-field[b-ahz7e3fuzm] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.kw-claim-label[b-ahz7e3fuzm] {
    font-size: 0.78rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--krome-text-muted, #6b6660);
}

.kw-claim-input[b-ahz7e3fuzm] {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    padding: 0.75rem 0.9rem;
    background: var(--krome-bg-primary, #fbf9f5);
    border: 1px solid var(--krome-border, #d8d3cb);
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--krome-text-primary, #161412);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.kw-claim-input:focus[b-ahz7e3fuzm] {
    outline: none;
    border-color: var(--krome-text-primary, #161412);
    background: #fff;
}

.kw-claim-input:disabled[b-ahz7e3fuzm] {
    opacity: 0.6;
    cursor: not-allowed;
}

.kw-claim-input-readonly[b-ahz7e3fuzm] {
    background: transparent;
    cursor: default;
    color: var(--krome-text-muted, #6b6660);
}

.kw-claim-hint[b-ahz7e3fuzm] {
    font-size: 0.78rem;
    color: var(--krome-text-muted, #6b6660);
    line-height: 1.4;
}

.kw-claim-error[b-ahz7e3fuzm] {
    font-size: 0.82rem;
    color: #9a2a2a;
    line-height: 1.4;
}

.kw-claim-inline-link[b-ahz7e3fuzm] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kw-claim-banner[b-ahz7e3fuzm] {
    background: #fdf2f2;
    border: 1px solid #f4c7c7;
    border-radius: 4px;
    padding: 0.75rem 1rem;
}

.kw-claim-banner p[b-ahz7e3fuzm] {
    margin: 0;
    font-size: 0.88rem;
    color: #7c1d1d;
    line-height: 1.45;
}

.kw-claim-submit[b-ahz7e3fuzm] {
    margin-top: 0.5rem;
    padding: 0.85rem 1.5rem;
    background: var(--krome-text-primary, #161412);
    color: var(--krome-bg-primary, #fbf9f5);
    border: 1px solid var(--krome-text-primary, #161412);
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
}

.kw-claim-submit:hover:not(:disabled)[b-ahz7e3fuzm] {
    background: #2a2622;
}

.kw-claim-submit:active:not(:disabled)[b-ahz7e3fuzm] {
    transform: translateY(1px);
}

.kw-claim-submit:disabled[b-ahz7e3fuzm] {
    opacity: 0.55;
    cursor: not-allowed;
}

.kw-claim-success[b-ahz7e3fuzm] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.9rem 1.1rem;
    background: #f0f7f0;
    border: 1px solid #c7e0c7;
    border-radius: 4px;
    color: #2c5a2c;
    font-size: 0.92rem;
    font-weight: 500;
    justify-content: center;
}

.kw-claim-success-icon[b-ahz7e3fuzm] {
    display: inline-flex;
    align-items: center;
    color: #2c5a2c;
}

@media (max-width: 480px) {
    .kw-claim-divider[b-ahz7e3fuzm] {
        margin: 2rem 0 1.5rem;
    }
    .kw-claim-title[b-ahz7e3fuzm] {
        font-size: 1.15rem;
    }
}
/* /Components/Pages/CartPage.razor.rz.scp.css */
.kw-cart-page[b-9k581mco5v] {
    padding: 7rem 0 5rem;
}

.kw-cart-header[b-9k581mco5v] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--kw-border);
    margin-bottom: 3rem;
}

.kw-cart-header h1[b-9k581mco5v] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.kw-cart-continue[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.kw-cart-loading[b-9k581mco5v], .kw-cart-empty[b-9k581mco5v] {
    text-align: center;
    padding: 4rem 0;
    color: var(--kw-text-muted);
}

.kw-cart-empty p[b-9k581mco5v] {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

.kw-cart-grid[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 1.75fr 1fr;
    gap: 3rem;
    align-items: flex-start;
}

.kw-cart-lines[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.kw-cart-locations[b-9k581mco5v],
.kw-cart-dates[b-9k581mco5v] {
    padding: 1.5rem;
    background: #f5f7f7;
    border-left: 3px solid var(--kw-accent);
}

.kw-cart-locations h3[b-9k581mco5v],
.kw-cart-dates h3[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--kw-text-muted);
    margin-bottom: 1rem;
}

.kw-cart-locationfields[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.kw-cart-locationfields label[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.kw-cart-locationfields span[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-cart-locationfields select[b-9k581mco5v] {
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--kw-border);
    font-family: var(--kw-font);
    font-size: 0.9375rem;
    background: var(--kw-light);
}

.kw-cart-locations-same[b-9k581mco5v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.875rem;
    font-size: 0.875rem;
    color: var(--kw-text);
    cursor: pointer;
}

.kw-cart-datefields[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.kw-cart-datefields label[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.kw-cart-datefields span[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-cart-datefields input[b-9k581mco5v] {
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--kw-border);
    font-family: var(--kw-font);
    font-size: 0.9375rem;
    background: var(--kw-light);
}

.kw-cart-daysnote[b-9k581mco5v] {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: var(--kw-text);
    font-weight: 600;
}

.kw-cart-daysnote-muted[b-9k581mco5v] {
    color: var(--kw-text-muted);
    font-weight: 400;
}

.kw-cart-line[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--kw-border);
}

.kw-cart-line-image[b-9k581mco5v] {
    width: 120px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eef1f2;
}

.kw-cart-line-image img[b-9k581mco5v] {
    width: 100%; height: 100%;
    object-fit: cover;
}

.kw-cart-line-placeholder[b-9k581mco5v] {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #e4e8ea 0%, #f1f3f4 100%);
}

.kw-cart-line-category[b-9k581mco5v] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.375rem;
}

.kw-cart-line-name[b-9k581mco5v] {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: var(--kw-text);
    text-decoration: none;
    margin-bottom: 0.375rem;
}

.kw-cart-line-name:hover[b-9k581mco5v] { color: var(--kw-accent); }

.kw-cart-line-price[b-9k581mco5v] {
    font-size: 0.875rem;
    color: var(--kw-text-muted);
    margin: 0;
}

.kw-cart-line-actions[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 140px;
}

.kw-cart-qty[b-9k581mco5v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.kw-cart-qty button[b-9k581mco5v] {
    width: 32px; height: 32px;
    border: 1px solid var(--kw-border);
    background: var(--kw-light);
    cursor: pointer;
    font-family: var(--kw-font);
    font-size: 1rem;
    transition: background 0.15s;
}

.kw-cart-qty button:hover:not(:disabled)[b-9k581mco5v] { background: #f5f7f7; }
.kw-cart-qty button:disabled[b-9k581mco5v] { opacity: 0.4; cursor: not-allowed; }

.kw-cart-qty span[b-9k581mco5v] {
    min-width: 32px; text-align: center;
    font-weight: 600;
}

.kw-cart-line-total[b-9k581mco5v] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--kw-text);
    margin: 0;
}

.kw-cart-line-remove[b-9k581mco5v] {
    background: none; border: none; cursor: pointer;
    font-family: var(--kw-font);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.15s;
}

.kw-cart-line-remove:hover:not(:disabled)[b-9k581mco5v] { color: var(--kw-accent); }
.kw-cart-line-remove:disabled[b-9k581mco5v] { opacity: 0.5; cursor: not-allowed; }

.kw-cart-summary[b-9k581mco5v] {
    position: sticky;
    top: 100px;
    padding: 2rem;
    background: #f5f7f7;
}

.kw-cart-summary h3[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--kw-text-muted);
    margin-bottom: 1.5rem;
}

.kw-cart-summary dl[b-9k581mco5v] {
    margin: 0 0 1.5rem;
}

.kw-cart-summary dl div[b-9k581mco5v] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--kw-border);
}

.kw-cart-summary dl div:last-child[b-9k581mco5v] {
    border-bottom: none;
    padding-top: 1rem;
}

.kw-cart-summary dt[b-9k581mco5v] {
    font-size: 0.875rem;
    color: var(--kw-text-muted);
}

.kw-cart-summary dd[b-9k581mco5v] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--kw-text);
    margin: 0;
}

.kw-cart-summary-total dt[b-9k581mco5v] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--kw-text);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-cart-summary-total dd[b-9k581mco5v] {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--kw-text);
}

.kw-cart-summary-note[b-9k581mco5v] {
    font-size: 0.8125rem;
    color: var(--kw-text-muted);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.kw-cart-summary-warning[b-9k581mco5v] {
    font-size: 0.8125rem;
    color: var(--kw-accent);
    margin-top: 1rem;
    text-align: center;
}

.kw-cart-checkout[b-9k581mco5v] {
    width: 100%;
    justify-content: center;
}

.kw-cart-checkout:disabled[b-9k581mco5v] {
    opacity: 0.5;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .kw-cart-grid[b-9k581mco5v] { grid-template-columns: 1fr; }
    .kw-cart-summary[b-9k581mco5v] { position: static; }
}

@media (max-width: 640px) {
    .kw-cart-page[b-9k581mco5v] { padding: 5rem 0 3rem; }
    .kw-cart-line[b-9k581mco5v] { grid-template-columns: 80px 1fr; }
    .kw-cart-line-image[b-9k581mco5v] { width: 80px; }
    .kw-cart-line-actions[b-9k581mco5v] { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; min-width: 0; }
}
/* /Components/Pages/CheckoutCallbackPage.razor.rz.scp.css */
.kw-callback[b-0p7cm7loao] {
    padding: 8rem 0 6rem;
    min-height: 80vh;
    display: flex;
    align-items: center;
}

.kw-callback-state[b-0p7cm7loao] {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    padding: 2rem;
}

.kw-callback-state h1[b-0p7cm7loao] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

.kw-callback-state p[b-0p7cm7loao] {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--kw-text-muted);
    margin-bottom: 1.25rem;
}

.kw-callback-state a.fk-btn[b-0p7cm7loao] {
    margin-top: 1rem;
}

.kw-callback-spinner[b-0p7cm7loao] {
    width: 40px; height: 40px;
    margin: 0 auto 2rem;
    border: 3px solid rgba(47, 64, 68, 0.15);
    border-top-color: var(--kw-accent);
    border-radius: 50%;
    animation: kw-spin-b-0p7cm7loao 0.8s linear infinite;
}

@keyframes kw-spin-b-0p7cm7loao {
    to { transform: rotate(360deg); }
}

.kw-callback-success .kw-callback-check[b-0p7cm7loao] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px; height: 80px;
    margin: 0 auto 2rem;
    border-radius: 50%;
    background: rgba(37, 211, 102, 0.12);
    color: #1eb353;
}

.kw-callback-subtitle strong[b-0p7cm7loao] {
    color: var(--kw-text);
    font-weight: 700;
}

.kw-callback-order[b-0p7cm7loao] {
    padding: 2rem;
    background: #f5f7f7;
    border-left: 3px solid var(--kw-accent);
    text-align: left;
    margin: 2rem auto;
    max-width: 480px;
}

.kw-callback-order p[b-0p7cm7loao] {
    font-size: 0.9375rem;
    margin-bottom: 0.75rem;
    color: var(--kw-text);
}

.kw-callback-order p:last-child[b-0p7cm7loao] {
    margin-bottom: 0;
    color: var(--kw-text-muted);
    font-size: 0.875rem;
}

.kw-callback-order strong[b-0p7cm7loao] {
    font-weight: 700;
}

.kw-callback-actions[b-0p7cm7loao] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}

.kw-callback-actions .fk-btn-whatsapp[b-0p7cm7loao] {
    background: #25D366 !important;
    color: var(--kw-light) !important;
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
}
.kw-callback-actions .fk-btn-whatsapp:hover[b-0p7cm7loao] { background: #1eb353 !important; color: var(--kw-light) !important; }

.kw-callback-error h1[b-0p7cm7loao] {
    color: var(--kw-text);
}

.kw-callback-error a[b-0p7cm7loao] {
    color: var(--kw-accent);
    text-decoration: underline;
}

@media (max-width: 640px) {
    .kw-callback[b-0p7cm7loao] { padding: 5rem 0 3rem; }
    .kw-callback-actions[b-0p7cm7loao] { flex-direction: column; }
    .kw-callback-actions .fk-btn[b-0p7cm7loao] { width: 100%; }
}
/* /Components/Pages/CheckoutPage.razor.rz.scp.css */
.kw-checkout[b-lsmz76fdaf] {
    padding: 7rem 0 5rem;
}

.kw-checkout-header[b-lsmz76fdaf] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--kw-border);
    margin-bottom: 3rem;
}

.kw-checkout-header h1[b-lsmz76fdaf] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.kw-checkout-back[b-lsmz76fdaf] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.kw-checkout-grid[b-lsmz76fdaf] {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 3rem;
    align-items: flex-start;
}

.kw-checkout-form[b-lsmz76fdaf] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.kw-checkout-form h2[b-lsmz76fdaf] {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 0.5rem;
}

.kw-field[b-lsmz76fdaf] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.kw-field span[b-lsmz76fdaf] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-field em[b-lsmz76fdaf] {
    color: var(--kw-accent);
    font-style: normal;
}

.kw-field input[b-lsmz76fdaf],
.kw-field textarea[b-lsmz76fdaf] {
    padding: 0.875rem 1rem;
    border: 1px solid var(--kw-border);
    font-family: var(--kw-font);
    font-size: 0.9375rem;
    background: var(--kw-light);
    color: var(--kw-text);
    resize: vertical;
    transition: border-color 0.2s;
}

.kw-field input:focus[b-lsmz76fdaf],
.kw-field textarea:focus[b-lsmz76fdaf] {
    outline: none;
    border-color: var(--kw-accent);
}

.kw-field input:disabled[b-lsmz76fdaf],
.kw-field textarea:disabled[b-lsmz76fdaf] { opacity: 0.6; }

.kw-field-inline[b-lsmz76fdaf] {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
}

.kw-field-inline input[b-lsmz76fdaf] { margin-top: 0.1875rem; }

.kw-field-inline span[b-lsmz76fdaf] {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    color: var(--kw-text);
    font-size: 0.875rem;
    line-height: 1.5;
}

.kw-field-inline span a[b-lsmz76fdaf] {
    color: var(--kw-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.kw-field-inline span a:hover[b-lsmz76fdaf] { color: var(--kw-accent-deep); }

.kw-checkout-policies[b-lsmz76fdaf] {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--kw-text-muted);
}

.kw-checkout-policies a[b-lsmz76fdaf] {
    color: var(--kw-text-muted);
    text-decoration: none;
    transition: color var(--kw-transition);
}
.kw-checkout-policies a:hover[b-lsmz76fdaf] { color: var(--kw-accent); text-decoration: underline; }

.kw-checkout-submit[b-lsmz76fdaf] {
    width: 100%;
    justify-content: center;
    padding: 1.25rem 2rem !important;
    font-size: 1rem !important;
    margin-top: 1rem;
}

.kw-checkout-submit:disabled[b-lsmz76fdaf] {
    opacity: 0.5;
    cursor: not-allowed;
}

.kw-checkout-tos[b-lsmz76fdaf] {
    font-size: 0.8125rem;
    color: var(--kw-text-muted);
    margin: 0;
    text-align: center;
}

.kw-checkout-error[b-lsmz76fdaf] {
    padding: 1rem 1.25rem;
    background: rgba(220, 38, 38, 0.08);
    border-left: 3px solid #dc2626;
    color: #991b1b;
    font-size: 0.9375rem;
    margin: 0;
}

.kw-checkout-summary[b-lsmz76fdaf] {
    position: sticky;
    top: 100px;
    padding: 2rem;
    background: #f5f7f7;
}

.kw-checkout-summary h3[b-lsmz76fdaf] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--kw-text-muted);
    margin-bottom: 1.5rem;
}

.kw-checkout-dates[b-lsmz76fdaf] {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--kw-border);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.kw-checkout-dates strong[b-lsmz76fdaf] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
}

.kw-checkout-dates p[b-lsmz76fdaf] {
    font-size: 0.875rem;
    color: var(--kw-text);
    margin: 0;
    font-weight: 600;
}

.kw-checkout-rentaldays[b-lsmz76fdaf] {
    grid-column: 1 / -1;
    margin-top: 0.5rem !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: var(--kw-accent) !important;
}

.kw-checkout-lines[b-lsmz76fdaf] {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--kw-border);
}

.kw-checkout-lines li[b-lsmz76fdaf] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.kw-checkout-line-info[b-lsmz76fdaf] {
    display: flex;
    flex-direction: column;
}

.kw-checkout-line-name[b-lsmz76fdaf] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kw-text);
    line-height: 1.3;
}

.kw-checkout-line-detail[b-lsmz76fdaf] {
    font-size: 0.75rem;
    color: var(--kw-text-muted);
    margin-top: 0.25rem;
}

.kw-checkout-line-total[b-lsmz76fdaf] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--kw-text);
    flex-shrink: 0;
}

.kw-checkout-total[b-lsmz76fdaf] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 1rem;
}

.kw-checkout-total span[b-lsmz76fdaf] {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--kw-text);
}

.kw-checkout-total strong[b-lsmz76fdaf] {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--kw-text);
    letter-spacing: -0.01em;
}

.kw-checkout-loading[b-lsmz76fdaf], .kw-checkout-empty[b-lsmz76fdaf] {
    padding: 4rem 0;
    text-align: center;
    color: var(--kw-text-muted);
}

.kw-checkout-empty p[b-lsmz76fdaf] {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 900px) {
    .kw-checkout-grid[b-lsmz76fdaf] { grid-template-columns: 1fr; gap: 2.5rem; }
    .kw-checkout-summary[b-lsmz76fdaf] { position: static; }
}

@media (max-width: 640px) {
    .kw-checkout[b-lsmz76fdaf] { padding: 5rem 0 3rem; }
}
/* /Components/Pages/ProductDetailPage.razor.rz.scp.css */
.kw-pdp[b-mjl9ciu9yc] {
    padding: 7rem 0 5rem;
}

.kw-pdp-top[b-mjl9ciu9yc] {
    margin-bottom: 2rem;
}

.kw-pdp-backlink[b-mjl9ciu9yc] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.kw-pdp-grid[b-mjl9ciu9yc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: flex-start;
}

.kw-pdp-gallery[b-mjl9ciu9yc] {
    position: sticky;
    top: 100px;
}

.kw-pdp-main[b-mjl9ciu9yc] {
    aspect-ratio: 4 / 3;
    background: #eef1f2;
    overflow: hidden;
    margin-bottom: 1rem;
}

.kw-pdp-main img[b-mjl9ciu9yc] {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

.kw-pdp-main-placeholder[b-mjl9ciu9yc] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--kw-dark);
    background: linear-gradient(135deg, #e4e8ea 0%, #f1f3f4 100%);
}

.kw-pdp-thumbs[b-mjl9ciu9yc] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
}

.kw-pdp-thumb[b-mjl9ciu9yc] {
    aspect-ratio: 1 / 1;
    border: 2px solid transparent;
    background: #eef1f2;
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    transition: border-color 0.2s;
}

.kw-pdp-thumb.is-active[b-mjl9ciu9yc] { border-color: var(--kw-accent); }
.kw-pdp-thumb:hover[b-mjl9ciu9yc] { border-color: var(--kw-dark); }
.kw-pdp-thumb img[b-mjl9ciu9yc] { width: 100%; height: 100%; object-fit: cover; display: block; }

.kw-pdp-category[b-mjl9ciu9yc] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
}

.kw-pdp-info h1[b-mjl9ciu9yc] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-bottom: 0.5rem;
}

.kw-pdp-brand[b-mjl9ciu9yc] {
    font-size: 0.9375rem;
    color: var(--kw-text-muted);
    margin-bottom: 2rem;
}

.kw-pdp-brand strong[b-mjl9ciu9yc] { color: var(--kw-text); font-weight: 600; }

.kw-pdp-price[b-mjl9ciu9yc] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--kw-border);
}

.kw-pdp-price-amount[b-mjl9ciu9yc] {
    font-size: 2rem;
    font-weight: 800;
    color: var(--kw-text);
    letter-spacing: -0.01em;
}

.kw-pdp-price-period[b-mjl9ciu9yc] {
    font-size: 1rem;
    color: var(--kw-text-muted);
}

.kw-pdp-price-cta[b-mjl9ciu9yc] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kw-accent);
}

.kw-pdp-excerpt[b-mjl9ciu9yc] {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--kw-text);
    margin-bottom: 2rem;
}

.kw-pdp-actions[b-mjl9ciu9yc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.kw-pdp-addtocart[b-mjl9ciu9yc] {
    min-width: 200px;
    flex: 1;
}

.kw-pdp-addtocart:disabled[b-mjl9ciu9yc] {
    opacity: 0.5;
    cursor: not-allowed;
}

.kw-pdp-whatsapp[b-mjl9ciu9yc] {
    background: #25D366 !important;
    color: var(--kw-light) !important;
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
}
.kw-pdp-whatsapp:hover[b-mjl9ciu9yc] { background: #1eb353 !important; color: var(--kw-light) !important; }

.kw-pdp-toast[b-mjl9ciu9yc] {
    padding: 1rem 1.25rem;
    background: rgba(47,64,68,0.08);
    border-left: 3px solid var(--kw-accent);
    color: var(--kw-text);
    font-size: 0.875rem;
    margin-bottom: 2rem;
}

.kw-pdp-specs[b-mjl9ciu9yc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 2rem;
    margin: 2rem 0;
    padding: 1.5rem 0;
    border-top: 1px solid var(--kw-border);
    border-bottom: 1px solid var(--kw-border);
}

.kw-pdp-spec dt[b-mjl9ciu9yc] {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.25rem;
}

.kw-pdp-spec dd[b-mjl9ciu9yc] {
    font-size: 0.9375rem;
    color: var(--kw-text);
    margin: 0;
}

.kw-pdp-description[b-mjl9ciu9yc] {
    margin-top: 2rem;
}

.kw-pdp-description h2[b-mjl9ciu9yc] {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
}

.kw-pdp-description p[b-mjl9ciu9yc] {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--kw-text);
    margin-bottom: 1rem;
}

.kw-pdp-meta[b-mjl9ciu9yc] {
    margin-top: 2rem;
    padding: 1.5rem;
    background: #f5f7f7;
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--kw-text-muted);
}

.kw-pdp-meta p[b-mjl9ciu9yc] { margin: 0 0 0.5rem; }
.kw-pdp-meta strong[b-mjl9ciu9yc] { color: var(--kw-text); font-weight: 600; }

.kw-pdp-loading[b-mjl9ciu9yc], .kw-pdp-notfound[b-mjl9ciu9yc] {
    padding: 8rem 2rem;
    text-align: center;
}

.kw-pdp-notfound h1[b-mjl9ciu9yc] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.kw-pdp-notfound p[b-mjl9ciu9yc] {
    color: var(--kw-text-muted);
    margin-bottom: 2rem;
}

@media (max-width: 900px) {
    .kw-pdp[b-mjl9ciu9yc] { padding: 5rem 0 3rem; }
    .kw-pdp-grid[b-mjl9ciu9yc] { grid-template-columns: 1fr; gap: 3rem; }
    .kw-pdp-gallery[b-mjl9ciu9yc] { position: static; }
    .kw-pdp-thumbs[b-mjl9ciu9yc] { grid-template-columns: repeat(6, 1fr); }
    .kw-pdp-specs[b-mjl9ciu9yc] { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 640px) {
    .kw-pdp-actions[b-mjl9ciu9yc] { flex-direction: column; }
    .kw-pdp-addtocart[b-mjl9ciu9yc], .kw-pdp-whatsapp[b-mjl9ciu9yc] { width: 100%; }
}
/* /Components/Pages/PublicFormPage.razor.rz.scp.css */
.kw-form-page[b-3nmdtwjgah] {
    padding: 3rem 0 4rem;
}

.kw-form-loading[b-3nmdtwjgah],
.kw-form-empty[b-3nmdtwjgah],
.kw-form-success[b-3nmdtwjgah] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--kw-text-muted, #5b6168);
    max-width: 540px;
    margin: 0 auto;
}

.kw-form-empty h1[b-3nmdtwjgah],
.kw-form-success h1[b-3nmdtwjgah] {
    color: var(--kw-text, #1d2228);
    margin: 0 0 0.75rem;
}

.kw-form-empty p[b-3nmdtwjgah],
.kw-form-success p[b-3nmdtwjgah] {
    margin: 0 0 1.5rem;
    line-height: 1.6;
}

.kw-form-header[b-3nmdtwjgah] {
    max-width: 640px;
    margin: 0 auto 2rem;
    text-align: center;
}

.kw-form-header h1[b-3nmdtwjgah] {
    margin: 0 0 0.75rem;
    color: var(--kw-text, #1d2228);
}

.kw-form-description[b-3nmdtwjgah] {
    color: var(--kw-text-muted, #5b6168);
    line-height: 1.6;
    margin: 0;
}

.kw-form[b-3nmdtwjgah] {
    max-width: 640px;
    margin: 0 auto;
    background: var(--kw-light, #fff);
    border: 1px solid var(--kw-border, #e3e6e9);
    border-radius: 12px;
    padding: 2rem 2rem 2.25rem;
    display: grid;
    gap: 1.25rem;
}

.kw-field[b-3nmdtwjgah] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.kw-field > span[b-3nmdtwjgah] {
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--kw-text, #1d2228);
}

.kw-field > span em[b-3nmdtwjgah] {
    color: var(--kw-danger, #c0392b);
    font-style: normal;
    margin-left: 0.15rem;
}

.kw-field input[type="text"][b-3nmdtwjgah],
.kw-field input[type="email"][b-3nmdtwjgah],
.kw-field input[type="number"][b-3nmdtwjgah],
.kw-field input[type="tel"][b-3nmdtwjgah],
.kw-field input[type="url"][b-3nmdtwjgah],
.kw-field input[type="date"][b-3nmdtwjgah],
.kw-field input[type="datetime-local"][b-3nmdtwjgah],
.kw-field textarea[b-3nmdtwjgah],
.kw-field select[b-3nmdtwjgah] {
    width: 100%;
    border: 1px solid var(--kw-border, #e3e6e9);
    border-radius: 6px;
    padding: 0.625rem 0.75rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--kw-text, #1d2228);
    background: var(--kw-light, #fff);
    transition: border-color 0.15s ease;
}

.kw-field input:focus[b-3nmdtwjgah],
.kw-field textarea:focus[b-3nmdtwjgah],
.kw-field select:focus[b-3nmdtwjgah] {
    outline: none;
    border-color: var(--kw-accent, #2F4044);
}

.kw-field input[type="checkbox"][b-3nmdtwjgah] {
    width: 1.1rem;
    height: 1.1rem;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.kw-field input[type="color"][b-3nmdtwjgah] {
    width: 60px;
    height: 36px;
    padding: 2px;
    border-radius: 6px;
    cursor: pointer;
}

.kw-field-help[b-3nmdtwjgah] {
    color: var(--kw-text-muted, #5b6168);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.kw-form-error[b-3nmdtwjgah] {
    color: var(--kw-danger, #c0392b);
    font-size: 0.875rem;
    margin: 0;
    padding: 0.6rem 0.85rem;
    background: rgba(192, 57, 43, 0.08);
    border-radius: 6px;
}

.kw-form-submit[b-3nmdtwjgah] {
    margin-top: 0.5rem;
    align-self: flex-start;
    min-width: 180px;
    cursor: pointer;
}

.kw-form-submit[disabled][b-3nmdtwjgah] {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 540px) {
    .kw-form[b-3nmdtwjgah] {
        padding: 1.5rem 1.25rem 1.75rem;
        border-radius: 8px;
    }
}
/* /Themes/Field/FieldFooter.razor.rz.scp.css */
/* Field — industrial footer.
   Top: "Walk in. Roll out." purple slab CTA band with electric-violet
        slanted button.
   Middle: 4-column index labelled with mono "01 / Routes" headers.
   Bottom: copyright + telemetry-style "POWERED BY KROMEOS" tag. */

.field-footer[b-zv01hlbkb5] {
    margin-top: 5rem;
    background: var(--field-paper, #F2F0EC);
    color: var(--field-ink, #0A0A0A);
    font-family: 'Archivo', system-ui, sans-serif;
}

/* ── Top CTA band ────────────────────────────────────────────────── */
.field-footer-band[b-zv01hlbkb5] {
    background: var(--field-purple, #3D1B7A);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.field-footer-band[b-zv01hlbkb5]::before {
    /* Diagonal stripe overlay — construction tape texture, very subtle. */
    content: "";
    position: absolute; inset: 0;
    background: repeating-linear-gradient(
        -45deg,
        rgba(255, 255, 255, 0.05) 0 12px,
        transparent 12px 36px
    );
    pointer-events: none;
}
.field-footer-band-inner[b-zv01hlbkb5] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem;
    padding: 3.5rem 2rem;
    position: relative; z-index: 1;
    flex-wrap: wrap;
}
.field-footer-eyebrow[b-zv01hlbkb5] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--field-stripe, #DBC8FA);
    margin-bottom: 0.5rem;
    display: block;
}
.field-footer-cta h3[b-zv01hlbkb5] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #fff;
}
.field-footer-cta-btn[b-zv01hlbkb5] {
    display: inline-flex; align-items: center;
    padding: 0 2rem 0 1.625rem; height: 60px;
    background: var(--field-violet, #7B5FBA);
    color: #fff;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
    transition: background 0.18s ease, transform 0.12s ease;
}
.field-footer-cta-btn:hover[b-zv01hlbkb5] {
    background: #fff;
    color: var(--field-purple, #3D1B7A);
    transform: translateX(2px);
}

/* ── 4-column index ─────────────────────────────────────────────── */
.field-footer-grid[b-zv01hlbkb5] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    padding: 3.5rem 2rem 2rem;
}
.field-footer-grid section[b-zv01hlbkb5] { min-width: 0; }

.field-footer-label[b-zv01hlbkb5] {
    display: block;
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--field-purple, #3D1B7A);
    margin-bottom: 1.125rem;
    padding-bottom: 0.625rem;
    border-bottom: 2px solid var(--field-ink, #0A0A0A);
}

.field-footer-grid a[b-zv01hlbkb5],
.field-footer-grid p[b-zv01hlbkb5] {
    display: block;
    font-family: 'Archivo', system-ui, sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.75;
    color: var(--field-ink, #0A0A0A);
    text-decoration: none;
    transition: color 0.18s ease, padding-left 0.18s ease;
}
.field-footer-grid a:hover[b-zv01hlbkb5] {
    color: var(--field-violet, #7B5FBA);
    padding-left: 0.5rem;
}

/* ── Bottom row ─────────────────────────────────────────────────── */
.field-footer-bottom[b-zv01hlbkb5] {
    border-top: 1px solid var(--field-ink, #0A0A0A);
    padding: 1.25rem 2rem;
    display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.field-footer-bottom p[b-zv01hlbkb5] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    color: var(--field-ink, #0A0A0A);
    text-transform: uppercase;
}
.field-footer-powered[b-zv01hlbkb5] {
    color: var(--field-purple, #3D1B7A) !important;
    font-weight: 700;
}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .field-footer-band-inner[b-zv01hlbkb5] { padding: 2.5rem 1.25rem; gap: 1.5rem; }
    .field-footer-grid[b-zv01hlbkb5] {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 1.5rem;
        padding: 2.5rem 1.25rem 1.5rem;
    }
    .field-footer-bottom[b-zv01hlbkb5] { padding: 1.25rem; }
}
@media (max-width: 520px) {
    .field-footer-grid[b-zv01hlbkb5] { grid-template-columns: 1fr; }
}
/* /Themes/Field/FieldHeader.razor.rz.scp.css */
/* Field — industrial fixed header.
   Strap row: deep-purple band with JetBrains-Mono live-status line.
   Main row: square "FK" hazard mark + Archivo-Black wordmark + mono nav
            + slanted-edge electric-violet "Book gear" CTA. */

.field-header[b-p07ayqmtvm] {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 1000;
    font-family: 'Archivo', system-ui, sans-serif;
    /* Hard 3px ink rule under the whole header — proper construction
       signage weight. Previous 1px box-shadow read as a soft Material
       elevation, which clashed with the Archivo Black + clip-path
       aesthetic. */
    border-bottom: 3px solid var(--field-ink, #0A0A0A);
}

/* ── Strap (deep purple, JetBrains Mono status line) ────────────── */
.field-header-strap[b-p07ayqmtvm] {
    background: var(--field-purple-deep, #2A1056);
    color: var(--field-stripe, #DBC8FA);
    height: 30px;
    overflow: hidden;
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.field-strap-inner[b-p07ayqmtvm] {
    display: flex; align-items: center; justify-content: space-between;
    height: 100%;
}
.field-strap-status[b-p07ayqmtvm] {
    display: inline-flex; align-items: center; gap: 0.625rem;
}
.field-strap-dot[b-p07ayqmtvm] {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--field-live, #4ADE80);
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
    animation: field-pulse-b-p07ayqmtvm 2.4s ease-in-out infinite;
}
@keyframes field-pulse-b-p07ayqmtvm {
    0%, 100% { box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18); }
    50%      { box-shadow: 0 0 0 6px rgba(74, 222, 128, 0.06); }
}
.field-strap-call[b-p07ayqmtvm] {
    color: var(--field-violet, #7B5FBA);
    text-decoration: none;
    transition: color 0.18s ease;
}
.field-strap-call:hover[b-p07ayqmtvm] { color: #fff; }

/* ── Main row (white background) ────────────────────────────────── */
.field-header-inner[b-p07ayqmtvm] {
    background: #fff;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    height: 84px;
    /* No internal border — the parent .field-header has the 3px ink rule. */
}

.field-logo[b-p07ayqmtvm] {
    display: inline-flex; align-items: center; gap: 0.875rem;
    text-decoration: none;
    color: var(--field-ink, #0A0A0A);
}
.field-logo img[b-p07ayqmtvm] { height: 40px; }
.field-logo-mark[b-p07ayqmtvm] {
    /* Hazard-label square: purple block, white Archivo Black "FK".
       Larger + deeper slash than before — proper construction-permit cue. */
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px;
    background: var(--field-purple, #3D1B7A);
    color: #fff;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 1.0625rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
    box-shadow: inset 0 0 0 2px var(--field-ink, #0A0A0A);
}
.field-logo-text[b-p07ayqmtvm] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    /* Bigger than before so the wordmark anchors the brand row at the
       new 84px height. */
    font-size: 1.625rem;
    font-weight: 900;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    line-height: 0.95;
    color: var(--field-ink, #0A0A0A);
}

/* ── Nav (mono uppercase, justify center) ───────────────────────── */
.field-nav[b-p07ayqmtvm] {
    display: flex; gap: 2.25rem; justify-content: center;
}
.field-nav a[b-p07ayqmtvm] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--field-ink, #0A0A0A);
    text-decoration: none;
    position: relative;
    padding: 0.375rem 0;
    transition: color 0.18s ease;
}
.field-nav a[b-p07ayqmtvm]::before {
    /* Bracket-style marker that appears on hover — telemetry vibe. */
    content: "[";
    margin-right: 0.25rem;
    color: var(--field-violet, #7B5FBA);
    opacity: 0;
    transition: opacity 0.2s ease;
}
.field-nav a[b-p07ayqmtvm]::after {
    content: "]";
    margin-left: 0.25rem;
    color: var(--field-violet, #7B5FBA);
    opacity: 0;
    transition: opacity 0.2s ease;
}
.field-nav a:hover[b-p07ayqmtvm] { color: var(--field-purple, #3D1B7A); }
.field-nav a:hover[b-p07ayqmtvm]::before,
.field-nav a:hover[b-p07ayqmtvm]::after { opacity: 1; }

/* ── Header actions ─────────────────────────────────────────────── */
.field-header-actions[b-p07ayqmtvm] { display: flex; gap: 0.5rem; align-items: stretch; }

.field-cart-btn[b-p07ayqmtvm] {
    display: inline-flex; align-items: center;
    padding: 0 1.25rem; height: 44px;
    border: 2px solid var(--field-ink, #0A0A0A);
    background: #fff;
    color: var(--field-ink, #0A0A0A);
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.field-cart-btn:hover[b-p07ayqmtvm] {
    background: var(--field-ink, #0A0A0A);
    color: #fff;
}

.field-book-btn[b-p07ayqmtvm] {
    display: inline-flex; align-items: center;
    padding: 0 1.5rem 0 1.25rem; height: 44px;
    background: var(--field-purple, #3D1B7A);
    color: #fff;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 0.8125rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    /* Slanted right edge — the construction-signage tell. */
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    transition: background 0.18s ease;
}
.field-book-btn:hover[b-p07ayqmtvm] { background: var(--field-violet, #7B5FBA); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .field-header-strap[b-p07ayqmtvm] { display: none; }
    .field-header-inner[b-p07ayqmtvm] {
        grid-template-columns: auto auto;
        height: 64px;
        gap: 0.75rem;
        padding: 0 1rem;
    }
    .field-nav[b-p07ayqmtvm] { display: none; }
    .field-logo-text[b-p07ayqmtvm] { font-size: 1.125rem; }
    .field-cart-btn[b-p07ayqmtvm] { padding: 0 0.75rem; height: 38px; font-size: 0.6875rem; }
    .field-book-btn[b-p07ayqmtvm] { padding: 0 1.125rem 0 0.875rem; height: 38px; font-size: 0.6875rem; }
}
/* /Themes/Field/FieldLayout.razor.rz.scp.css */
/* Field — layout shell.
   Pads body below the fixed two-row header: strap (30px) + main (84px) +
   3px ink rule = 117px. */
.field-layout[b-yvfiybgpck] {
    padding-top: 117px;
    background: var(--field-paper, #F2F0EC);
    color: var(--field-ink, #0A0A0A);
    min-height: 100vh;
}

@media (max-width: 900px) {
    /* Strap collapses out on mobile; main row remains. */
    .field-layout[b-yvfiybgpck] { padding-top: 67px; }
}
/* /Themes/Field/FieldProductCard.razor.rz.scp.css */
/* Field — industrial product card.
   3:2 landscape crop (third unique aspect — Studio=1:1, Lens=3:4).
   Slanted violet stripe across the image corner (clip-path stripe, not a
   pill). Mono price big and tabular. Black underline on the entire card
   that shifts violet on hover. */

.field-pcard[b-cj1nmints2] {
    display: block;
    background: #fff;
    border: 2px solid var(--field-ink, #0A0A0A);
    text-decoration: none;
    color: inherit;
    font-family: 'Archivo', system-ui, sans-serif;
    transition: transform 0.18s ease;
    position: relative;
}
.field-pcard:hover[b-cj1nmints2] {
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0 0 var(--field-violet, #7B5FBA);
}

/* ── Media — 3:2 landscape ──────────────────────────────────────── */
.field-pcard-media[b-cj1nmints2] {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--field-paper, #F2F0EC);
    border-bottom: 2px solid var(--field-ink, #0A0A0A);
}
.field-pcard-media img[b-cj1nmints2] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.2, 0, 0.2, 1);
}
.field-pcard:hover .field-pcard-media img[b-cj1nmints2] { transform: scale(1.03); }
.field-pcard-placeholder[b-cj1nmints2] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--field-purple, #3D1B7A);
}

/* Slanted purple stripe across the bottom-right of the image — printed
   ribbon vibe, not a sale pill. Uses clip-path to fake a true slash. */
.field-pcard-slash[b-cj1nmints2] {
    position: absolute;
    bottom: 0; right: 0;
    width: 72px; height: 24px;
    background: var(--field-purple, #3D1B7A);
    clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%);
}

/* ── Info ───────────────────────────────────────────────────────── */
.field-pcard-info[b-cj1nmints2] { padding: 0.875rem 1rem 1.125rem; }
.field-pcard-row[b-cj1nmints2] {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 0.625rem;
}
.field-pcard-cat[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    color: var(--field-purple, #3D1B7A);
}
.field-pcard-status[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.5625rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    color: var(--field-live, #4ADE80);
    padding: 0.2rem 0.4rem;
    border: 1px solid var(--field-live, #4ADE80);
}
.field-pcard-name[b-cj1nmints2] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -0.005em;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--field-ink, #0A0A0A);
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.3em;
}

/* ── Rate row ───────────────────────────────────────────────────── */
.field-pcard-rate-row[b-cj1nmints2] {
    display: flex; align-items: baseline; gap: 0.4rem;
    border-top: 2px dashed var(--field-ink, #0A0A0A);
    padding-top: 0.75rem;
}
.field-pcard-rate[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--field-ink, #0A0A0A);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}
.field-pcard-rate-unit[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    color: var(--field-violet, #7B5FBA);
    margin-left: auto;
}
.field-pcard-quote[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: var(--field-purple, #3D1B7A);
}
/* /Themes/Fotokrome/FotokromeFooter.razor.rz.scp.css */
.fk-footer[b-nj99mp8fk6] {
    background: var(--kw-dark);
    color: rgba(255,255,255,0.75);
    padding: 5rem 0 2rem;
    margin-top: auto;
}

.fk-footer-top[b-nj99mp8fk6] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.fk-footer-brand h3[b-nj99mp8fk6] {
    color: var(--kw-light);
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}
.fk-footer-brand p[b-nj99mp8fk6] {
    color: rgba(255,255,255,0.55);
    font-size: 0.9375rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    max-width: 340px;
}

.fk-footer-whatsapp[b-nj99mp8fk6] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: #25D366;
    color: var(--kw-light);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: background var(--kw-transition);
}
.fk-footer-whatsapp:hover[b-nj99mp8fk6] { background: #1eb353; color: var(--kw-light); }

.fk-footer-col h4[b-nj99mp8fk6] {
    color: var(--kw-light);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1.5rem;
}

.fk-footer-col a[b-nj99mp8fk6] {
    display: block;
    color: rgba(255,255,255,0.55);
    font-size: 0.9375rem;
    text-decoration: none;
    margin-bottom: 0.75rem;
    transition: color var(--kw-transition);
}
.fk-footer-col a:hover[b-nj99mp8fk6] { color: var(--kw-accent); }

.fk-footer-locations .fk-location[b-nj99mp8fk6] {
    margin-bottom: 1.25rem;
}

.fk-footer-locations .fk-location strong[b-nj99mp8fk6] {
    display: block;
    color: var(--kw-light);
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.fk-footer-locations .fk-location p[b-nj99mp8fk6] {
    color: rgba(255,255,255,0.55);
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0;
}

.fk-footer-bottom[b-nj99mp8fk6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.fk-footer-bottom p[b-nj99mp8fk6] {
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.35);
    margin: 0;
}

.fk-footer-social[b-nj99mp8fk6] {
    display: flex;
    gap: 1.5rem;
}

.fk-footer-social a[b-nj99mp8fk6] {
    color: rgba(255,255,255,0.55);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: color var(--kw-transition);
}
.fk-footer-social a:hover[b-nj99mp8fk6] { color: var(--kw-accent); }

@media (max-width: 900px) {
    .fk-footer-top[b-nj99mp8fk6] {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
    .fk-footer-brand[b-nj99mp8fk6] { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .fk-footer-top[b-nj99mp8fk6] { grid-template-columns: 1fr; gap: 2rem; }
    .fk-footer-bottom[b-nj99mp8fk6] { flex-direction: column; text-align: center; }
}
/* /Themes/Fotokrome/FotokromeHeader.razor.rz.scp.css */
.fk-header[b-s464p658gq] {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: transparent;
    transition: background var(--kw-transition), box-shadow var(--kw-transition), border-color var(--kw-transition);
    padding: 1.25rem 0;
}

.fk-header.header-scrolled[b-s464p658gq],
:global(.fk-header.header-scrolled)[b-s464p658gq] {
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--kw-border);
    padding: 0.75rem 0;
}

.fk-header-inner[b-s464p658gq] {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto;
    align-items: center;
    gap: 1.5rem;
}

.fk-logo[b-s464p658gq] {
    grid-column: 3;
    text-align: center;
    text-decoration: none;
}

.fk-logo-text[b-s464p658gq] {
    font-family: var(--kw-font);
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--kw-light);
    letter-spacing: -0.02em;
    text-transform: uppercase;
    transition: color var(--kw-transition);
}

:global(.header-scrolled) .fk-logo-text[b-s464p658gq] { color: var(--kw-dark); }
.fk-logo img[b-s464p658gq] { height: 36px; width: auto; }

.fk-nav[b-s464p658gq] { display: flex; gap: 2rem; }
.fk-nav-left[b-s464p658gq] { grid-column: 2; justify-content: flex-end; }
.fk-nav-right[b-s464p658gq] { grid-column: 4; justify-content: flex-start; }

.fk-nav a[b-s464p658gq] {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
    transition: color var(--kw-transition);
}

.fk-nav a:hover[b-s464p658gq] { color: var(--kw-accent); }
:global(.header-scrolled) .fk-nav a[b-s464p658gq] { color: var(--kw-text); }
:global(.header-scrolled) .fk-nav a:hover[b-s464p658gq] { color: var(--kw-accent); }

.fk-header-actions[b-s464p658gq] {
    grid-column: 5;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.fk-header-login[b-s464p658gq] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    transition: color var(--kw-transition);
}
.fk-header-login:hover[b-s464p658gq] { color: var(--kw-accent); }
:global(.header-scrolled) .fk-header-login[b-s464p658gq] { color: var(--kw-text); }

.fk-cart-btn[b-s464p658gq] {
    position: relative;
    color: var(--kw-light);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: color var(--kw-transition);
}
:global(.header-scrolled) .fk-cart-btn[b-s464p658gq] { color: var(--kw-dark); }
.fk-cart-btn:hover[b-s464p658gq] { color: var(--kw-accent); }

.fk-cart-badge[b-s464p658gq] {
    position: absolute;
    top: -8px; right: -10px;
    min-width: 20px; height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--kw-accent);
    color: var(--kw-light);
    font-size: 0.6875rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.fk-hamburger[b-s464p658gq] {
    display: none;
    grid-column: 1;
    background: none; border: none; cursor: pointer;
    padding: 0.5rem;
    flex-direction: column; gap: 5px;
    align-items: center; justify-content: center;
}
.fk-hamburger span[b-s464p658gq] {
    display: block; width: 22px; height: 2px;
    background: var(--kw-light);
    transition: background var(--kw-transition);
}
:global(.header-scrolled) .fk-hamburger span[b-s464p658gq] { background: var(--kw-dark); }

.fk-mobile-nav[b-s464p658gq] {
    display: none;
}

@media (max-width: 900px) {
    .fk-nav[b-s464p658gq] { display: none; }
    .fk-hamburger[b-s464p658gq] { display: flex; }
    .fk-header-inner[b-s464p658gq] { grid-template-columns: auto 1fr auto; gap: 1rem; }
    .fk-logo[b-s464p658gq] { grid-column: 2; }
    .fk-header-actions[b-s464p658gq] { grid-column: 3; gap: 1rem; }
    .fk-header-login[b-s464p658gq] { display: none; }
}
/* /Themes/Fotokrome/FotokromeLayout.razor.rz.scp.css */
.fotokrome-layout[b-97dbfa3uxa] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--kw-light);
}
/* /Themes/Fotokrome/FotokromeProductCard.razor.rz.scp.css */
.fk-pcard[b-d6ha17xifd] {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.25s ease;
}

.fk-pcard:hover[b-d6ha17xifd] { transform: translateY(-3px); }

.fk-pcard-img[b-d6ha17xifd] {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eef1f2;
    margin-bottom: 1rem;
}

.fk-pcard-img img[b-d6ha17xifd] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.fk-pcard:hover .fk-pcard-img img[b-d6ha17xifd] { transform: scale(1.04); }

.fk-pcard-placeholder[b-d6ha17xifd] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #e4e8ea 0%, #f1f3f4 100%);
    color: var(--kw-dark);
}

.fk-pcard-info[b-d6ha17xifd] { padding: 0 0.125rem; }

.fk-pcard-category[b-d6ha17xifd] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.375rem;
}

.fk-pcard-name[b-d6ha17xifd] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kw-text);
    letter-spacing: -0.01em;
    margin-bottom: 0.375rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fk-pcard-price[b-d6ha17xifd] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--kw-text);
    margin: 0;
}

.fk-pcard-price span[b-d6ha17xifd] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kw-text-muted);
    letter-spacing: 0.02em;
    margin-left: 0.1875rem;
}

.fk-pcard-price-cta[b-d6ha17xifd] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0;
}
/* /Themes/Lens/LensFooter.razor.rz.scp.css */
/* Lens — editorial footer.
   Big Fraunces wordmark left + 4 column index right, with a thin gold
   hairline rule under the colophon. Bottom row uses a kerned em-dash
   divider between copyright and social. No background colour — paper
   bleeds through. */

.lens-footer[b-p7xlvfucsl] {
    margin-top: 6rem;
    padding: 5rem 0 2.5rem;
    border-top: 1px solid var(--lens-gold, #C9A86A);
    color: var(--lens-ink, #0F0F12);
    font-family: 'Fraunces', Georgia, serif;
}

/* ── Colophon — brand left, columns right ───────────────────────── */
.lens-footer-colophon[b-p7xlvfucsl] {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 2fr;
    gap: 4rem;
    align-items: start;
}

.lens-footer-mark h3[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 144, "SOFT" 50;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 0.875rem;
    color: var(--lens-ink, #0F0F12);
}
.lens-footer-strapline[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 14;
    font-size: 0.9375rem;
    font-style: italic;
    font-weight: 400;
    color: var(--lens-ink-soft, #5C5860);
    max-width: 28ch;
    line-height: 1.5;
}

.lens-footer-cols[b-p7xlvfucsl] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.lens-footer-cols section[b-p7xlvfucsl] { min-width: 0; }
.lens-footer-cols h4[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--lens-purple, #3D1B7A);
    margin-bottom: 1.125rem;
}
.lens-footer-cols a[b-p7xlvfucsl],
.lens-footer-cols p[b-p7xlvfucsl] {
    display: block;
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 12;
    font-size: 0.9375rem;
    line-height: 1.85;
    color: var(--lens-ink, #0F0F12);
    text-decoration: none;
    transition: color 0.16s ease;
}
.lens-footer-cols a[b-p7xlvfucsl] {
    border-bottom: 1px solid transparent;
    padding-bottom: 1px;
    display: inline-block;
}
.lens-footer-cols a:hover[b-p7xlvfucsl] {
    color: var(--lens-purple, #3D1B7A);
    border-bottom-color: var(--lens-gold, #C9A86A);
}

/* ── Gold hairline rule between colophon and bottom row ─────────── */
.lens-footer-rule[b-p7xlvfucsl] {
    height: 1px;
    background: var(--lens-gold, #C9A86A);
    margin: 3.5rem 0 1.5rem;
    opacity: 0.7;
}

/* ── Bottom row ─────────────────────────────────────────────────── */
.lens-footer-bottom[b-p7xlvfucsl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.lens-footer-bottom p[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    color: var(--lens-ink-soft, #5C5860);
}
.lens-footer-social[b-p7xlvfucsl] { display: flex; gap: 1.5rem; align-items: center; }
.lens-footer-social a[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lens-ink, #0F0F12);
    text-decoration: none;
    transition: color 0.18s ease;
}
.lens-footer-social a:hover[b-p7xlvfucsl] { color: var(--lens-purple, #3D1B7A); }
.lens-footer-social a + a[b-p7xlvfucsl] {
    /* Em-dash divider between social links — typographic kerning trick. */
    position: relative;
}
.lens-footer-social a + a[b-p7xlvfucsl]::before {
    content: "—";
    position: absolute;
    left: -1rem; top: 0;
    color: var(--lens-gold, #C9A86A);
    opacity: 0.5;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .lens-footer[b-p7xlvfucsl] { padding: 3.5rem 0 2rem; margin-top: 4rem; }
    .lens-footer-colophon[b-p7xlvfucsl] {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .lens-footer-cols[b-p7xlvfucsl] { grid-template-columns: repeat(2, 1fr); gap: 1.75rem; }
    .lens-footer-rule[b-p7xlvfucsl] { margin: 2.5rem 0 1.25rem; }
    .lens-footer-bottom[b-p7xlvfucsl] { justify-content: flex-start; }
}
/* /Themes/Lens/LensHeader.razor.rz.scp.css */
/* Lens — editorial header.
   Static (not fixed), single-row, masthead-style. Fraunces wordmark
   centered with a kerned strapline below it; nav links flank in tiny
   letterspaced uppercase. Closes with a 2px gold hairline below + a
   1px ink hairline above the strapline row — gives the band proper
   visual weight against the dark hero that follows on the home page.

   Opaque cream paper background (previously transparent — which caused
   the header to "float" against the massive 78vh dark hero on the
   landing page; the brand felt lost). Now the masthead reads as a
   distinct band of cream that anchors the brand before the hero begins. */

.lens-header[b-x8884lvl47] {
    position: relative;
    padding: 2rem 0 1.75rem;
    background: var(--lens-paper, #F6F1EA);
    border-top: 1px solid rgba(15, 15, 18, 0.08);
    border-bottom: 2px solid var(--lens-gold, #C9A86A);
    /* Subtle tactile shadow below the gold rule — newsprint feel. */
    box-shadow: 0 1px 0 0 rgba(15, 15, 18, 0.04);
}

.lens-header-inner[b-x8884lvl47] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2rem;
}

/* ── Nav (flanks the logo) ──────────────────────────────────────── */
.lens-nav[b-x8884lvl47] { display: flex; gap: 2.25rem; }
.lens-nav-left[b-x8884lvl47] { justify-content: flex-start; }
.lens-nav-right[b-x8884lvl47] { justify-content: flex-end; align-items: center; }

.lens-nav a[b-x8884lvl47] {
    font-family: 'Fraunces', Georgia, serif;
    font-optical-sizing: auto;
    font-variation-settings: "opsz" 9;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--lens-ink, #0F0F12);
    text-decoration: none;
    transition: color 0.18s ease;
}
.lens-nav a:hover[b-x8884lvl47] { color: var(--lens-purple, #3D1B7A); }

.lens-cart-link[b-x8884lvl47] {
    position: relative;
}
.lens-cart-link[b-x8884lvl47]::before {
    /* Gold hairline that appears to the LEFT of the cart label on hover —
       editorial cue, not a button-y underline. */
    content: "";
    position: absolute;
    left: -1.25rem; top: 50%;
    width: 0.875rem; height: 1px;
    background: var(--lens-gold, #C9A86A);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}
.lens-cart-link:hover[b-x8884lvl47]::before { transform: scaleX(1); }

/* ── Logo (centered masthead with lens-mark glyph) ────────────────── */
.lens-logo[b-x8884lvl47] {
    text-align: center;
    text-decoration: none;
    color: inherit;
    display: inline-flex; flex-direction: column; align-items: center;
    gap: 0.55rem;
}
.lens-logo img[b-x8884lvl47] { height: 52px; width: auto; }

/* Row containing the lens SVG mark + wordmark. */
.lens-logo-row[b-x8884lvl47] {
    display: inline-flex; align-items: center;
    gap: 0.75rem;
}
.lens-logo-mark[b-x8884lvl47] {
    color: var(--lens-ink, #0F0F12);
    flex-shrink: 0;
    transition: color 0.2s ease;
}
.lens-logo:hover .lens-logo-mark[b-x8884lvl47] { color: var(--lens-purple, #3D1B7A); }

.lens-logo-text[b-x8884lvl47] {
    font-family: 'Fraunces', Georgia, serif;
    font-optical-sizing: auto;
    font-variation-settings: "opsz" 144, "SOFT" 50;
    /* Larger so the brand carries its weight on the cream band before
       the hero. Old size (1.625-2.125rem) read as a caption next to the
       hero's clamp(2.25rem, 5vw, 4rem) headline. */
    font-size: clamp(2.125rem, 3.2vw, 2.75rem);
    font-weight: 500;
    letter-spacing: -0.028em;
    line-height: 1;
    color: var(--lens-ink, #0F0F12);
}
.lens-logo-sub[b-x8884lvl47] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--lens-ink-soft, #5C5860);
    /* Gold tick marks flanking — editorial colophon mark. */
    display: inline-flex; align-items: center; gap: 0.75rem;
}
.lens-logo-sub[b-x8884lvl47]::before,
.lens-logo-sub[b-x8884lvl47]::after {
    content: "";
    width: 12px; height: 1px;
    background: var(--lens-gold, #C9A86A);
    display: inline-block;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .lens-header[b-x8884lvl47] { padding: 1.25rem 0 1rem; }
    .lens-header-inner[b-x8884lvl47] {
        grid-template-columns: 1fr;
        gap: 0.875rem;
    }
    .lens-nav-left[b-x8884lvl47], .lens-nav-right[b-x8884lvl47] {
        justify-content: center;
        order: 2;
        gap: 1.5rem;
        flex-wrap: wrap;
    }
    .lens-logo[b-x8884lvl47] { order: 1; }
    .lens-logo-text[b-x8884lvl47] { font-size: 1.5rem; }
    .lens-logo-sub[b-x8884lvl47] { font-size: 0.625rem; letter-spacing: 0.2em; }
}
/* /Themes/Lens/LensLayout.razor.rz.scp.css */
/* Lens — layout shell.
   Header is NOT fixed in Lens (editorial calm — scrolls with the page),
   so no top padding offset is needed. The cream paper colour bleeds into
   the full viewport so even the header sits on the same surface. */
.lens-layout[b-pelxk28p10] {
    background: var(--lens-paper, #F6F1EA);
    color: var(--lens-ink, #0F0F12);
    min-height: 100vh;
}
/* /Themes/Lens/LensProductCard.razor.rz.scp.css */
/* Lens — editorial product card.
   3:4 portrait crop (deliberate inverse of Studio's 1:1 square — different
   THEMES should not feel like the same designer). No border at rest. Name
   in Fraunces 144-opsz display. Category in tiny letterspaced caps. Quiet
   price line with "per day" in italic. Hover only nudges the metadata up
   1px and tints the name purple. */

.lens-pcard[b-y1oql8v33w] {
    display: block;
    background: transparent;
    text-decoration: none;
    color: inherit;
    font-family: 'Fraunces', Georgia, serif;
}

/* ── Figure — 3:4 portrait ──────────────────────────────────────── */
.lens-pcard-figure[b-y1oql8v33w] {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: rgba(15, 15, 18, 0.04);
    margin-bottom: 1.125rem;
    position: relative;
}
.lens-pcard-figure img[b-y1oql8v33w] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.2, 0, 0.1, 1);
}
.lens-pcard:hover .lens-pcard-figure img[b-y1oql8v33w] {
    transform: scale(1.025);
}
.lens-pcard-placeholder[b-y1oql8v33w] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--lens-ink, #0F0F12);
}

/* ── Meta ───────────────────────────────────────────────────────── */
.lens-pcard-meta[b-y1oql8v33w] {
    padding: 0 0.125rem;
    transition: transform 0.24s ease;
}
.lens-pcard:hover .lens-pcard-meta[b-y1oql8v33w] { transform: translateY(-2px); }

.lens-pcard-eyebrow[b-y1oql8v33w] {
    display: block;
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--lens-ink-soft, #5C5860);
    margin-bottom: 0.5rem;
}
.lens-pcard-eyebrow[b-y1oql8v33w]::before {
    /* Tiny dot prefix — small editorial mark for category tagging. */
    content: "·";
    color: var(--lens-gold, #C9A86A);
    margin-right: 0.5rem;
    font-size: 1.4em;
    line-height: 0;
    vertical-align: middle;
}
.lens-pcard-name[b-y1oql8v33w] {
    font-family: 'Fraunces', Georgia, serif;
    font-optical-sizing: auto;
    font-variation-settings: "opsz" 144, "SOFT" 50;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: -0.018em;
    line-height: 1.2;
    color: var(--lens-ink, #0F0F12);
    margin-bottom: 0.5rem;
    transition: color 0.2s ease;
    /* Two-line clamp for predictable card height. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.4em;
}
.lens-pcard:hover .lens-pcard-name[b-y1oql8v33w] { color: var(--lens-purple, #3D1B7A); }

.lens-pcard-price[b-y1oql8v33w] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 14;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: var(--lens-ink, #0F0F12);
    font-variant-numeric: tabular-nums lining-nums;
}
.lens-pcard-price span[b-y1oql8v33w] {
    /* "per day" — italic, lighter weight, softer colour. */
    font-style: italic;
    font-weight: 400;
    color: var(--lens-ink-soft, #5C5860);
    margin-left: 0.25rem;
}
.lens-pcard-quote[b-y1oql8v33w] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 14;
    font-style: italic;
    font-size: 0.9375rem;
    color: var(--lens-gold, #C9A86A);
}
/* /Themes/Motion/MotionFooter.razor.rz.scp.css */
.motion-footer[b-o308u1dej2] {
    background: var(--kw-dark); color: rgba(255,255,255,0.7);
    padding: 4rem 0 2rem; margin-top: auto;
}
.motion-footer-grid[b-o308u1dej2] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem; margin-bottom: 3rem;
}
.motion-footer-col h4[b-o308u1dej2] {
    color: var(--kw-light); font-size: 0.8125rem;
    text-transform: uppercase; letter-spacing: 0.1em;
    margin-bottom: 1.5rem; font-weight: 600;
}
.motion-footer-logo[b-o308u1dej2] {
    font-size: 1.25rem !important; text-transform: none !important;
    letter-spacing: -0.02em !important; margin-bottom: 1rem !important;
}
.motion-footer-col p[b-o308u1dej2] { font-size: 0.875rem; margin-bottom: 0.5rem; color: rgba(255,255,255,0.5); }
.motion-footer-col a[b-o308u1dej2] {
    display: block; font-size: 0.875rem; color: rgba(255,255,255,0.5);
    text-decoration: none; margin-bottom: 0.75rem;
    transition: color 0.3s ease;
}
.motion-footer-col a:hover[b-o308u1dej2] { color: var(--kw-accent); }
.motion-footer-hours[b-o308u1dej2] { margin-top: 1.5rem; }
.motion-footer-hours strong[b-o308u1dej2] { color: rgba(255,255,255,0.7); }
.motion-footer-social[b-o308u1dej2] { display: flex; flex-direction: column; }
.motion-footer-bottom[b-o308u1dej2] {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 2rem;
    display: flex; justify-content: space-between; align-items: center;
}
.motion-footer-bottom p[b-o308u1dej2] { font-size: 0.8125rem; color: rgba(255,255,255,0.3); margin: 0; }
.motion-footer-powered[b-o308u1dej2] { font-size: 0.75rem !important; }

@media (max-width: 768px) {
    .motion-footer-grid[b-o308u1dej2] { grid-template-columns: 1fr; gap: 2rem; }
    .motion-footer-bottom[b-o308u1dej2] { flex-direction: column; gap: 0.5rem; text-align: center; }
}
/* /Themes/Motion/MotionHeader.razor.rz.scp.css */
.motion-header[b-8ezlqkw2ph] {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: transparent;
    transition: background 0.3s ease, box-shadow 0.3s ease;
    padding: 1.25rem 0;
}
.motion-header.header-scrolled[b-8ezlqkw2ph] {
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--kw-border);
}
.motion-header-inner[b-8ezlqkw2ph] {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto;
    align-items: center;
    gap: 1rem;
}
.motion-logo[b-8ezlqkw2ph] {
    grid-column: 3; text-align: center;
    text-decoration: none;
}
.motion-logo-text[b-8ezlqkw2ph] {
    font-family: var(--kw-font);
    font-size: 1.375rem; font-weight: 700;
    color: var(--kw-light);
    letter-spacing: -0.02em;
    transition: color 0.3s ease;
}
.header-scrolled .motion-logo-text[b-8ezlqkw2ph] { color: var(--kw-dark); }
.motion-logo img[b-8ezlqkw2ph] { height: 36px; }

.motion-nav[b-8ezlqkw2ph] { display: flex; gap: 2rem; }
.motion-nav-left[b-8ezlqkw2ph] { grid-column: 2; justify-content: flex-end; }
.motion-nav-right[b-8ezlqkw2ph] { grid-column: 4; justify-content: flex-start; }
.motion-nav a[b-8ezlqkw2ph] {
    font-size: 0.8125rem; font-weight: 500;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase; letter-spacing: 0.08em;
    text-decoration: none;
    transition: color 0.3s ease;
}
.motion-nav a:hover[b-8ezlqkw2ph] { color: var(--kw-accent); }
.header-scrolled .motion-nav a[b-8ezlqkw2ph] { color: var(--kw-text); }
.header-scrolled .motion-nav a:hover[b-8ezlqkw2ph] { color: var(--kw-accent); }

.motion-cart-btn[b-8ezlqkw2ph] {
    grid-column: 5;
    color: var(--kw-light);
    transition: color 0.3s ease;
    display: flex; align-items: center;
}
.header-scrolled .motion-cart-btn[b-8ezlqkw2ph] { color: var(--kw-dark); }

.motion-hamburger[b-8ezlqkw2ph] {
    display: none;
    grid-column: 1;
    background: none; border: none; cursor: pointer;
    padding: 0.5rem; flex-direction: column; gap: 5px;
}
.motion-hamburger span[b-8ezlqkw2ph] {
    display: block; width: 22px; height: 2px;
    background: var(--kw-light);
    transition: background 0.3s ease;
}
.header-scrolled .motion-hamburger span[b-8ezlqkw2ph] { background: var(--kw-dark); }

.motion-mobile-nav[b-8ezlqkw2ph] {
    display: none;
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: var(--kw-dark);
    flex-direction: column; align-items: center; justify-content: center;
    gap: 2rem; z-index: 999;
}
.motion-mobile-nav.open[b-8ezlqkw2ph] { display: flex; }
.motion-mobile-nav a[b-8ezlqkw2ph] {
    font-size: 1.5rem; color: var(--kw-light);
    text-transform: uppercase; letter-spacing: 0.1em;
    text-decoration: none;
}

@media (max-width: 768px) {
    .motion-nav[b-8ezlqkw2ph] { display: none; }
    .motion-hamburger[b-8ezlqkw2ph] { display: flex; }
    .motion-header-inner[b-8ezlqkw2ph] {
        grid-template-columns: auto 1fr auto;
    }
    .motion-logo[b-8ezlqkw2ph] { grid-column: 2; }
    .motion-cart-btn[b-8ezlqkw2ph] { grid-column: 3; }
}
/* /Themes/Motion/MotionLayout.razor.rz.scp.css */
.motion-layout[b-u794p4l03w] { min-height: 100vh; }
/* /Themes/Motion/MotionProductCard.razor.rz.scp.css */
.motion-product-card[b-59y243txu6] {
    border-radius: var(--kw-radius); overflow: hidden;
    border: 1px solid var(--kw-border); transition: all 0.2s;
}
.motion-product-card:hover[b-59y243txu6] { box-shadow: 0 4px 12px rgba(0,0,0,0.1); transform: translateY(-2px); }
.motion-product-img[b-59y243txu6] { aspect-ratio: 4/3; overflow: hidden; background: #f1f5f9; }
.motion-product-img img[b-59y243txu6] { width: 100%; height: 100%; object-fit: cover; }
.motion-product-info[b-59y243txu6] { padding: 1rem; }
.motion-product-info h3[b-59y243txu6] { font-size: 1rem; margin-bottom: 0.25rem; }
.motion-product-category[b-59y243txu6] { font-size: 0.75rem; color: var(--kw-text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.motion-product-price[b-59y243txu6] { font-size: 1.125rem; font-weight: 600; color: var(--kw-primary); margin-top: 0.5rem; }
/* /Themes/Studio/StudioFooter.razor.rz.scp.css */
/* Studio — footer.
   Layer 1: deep-purple newsletter band with diagonal pinstripe.
   Layer 2: 4-column link grid with vertical hairline dividers (the "department-store" detail).
   Layer 3: bottom rule + copyright + social chips. */

.studio-footer[b-6oyqadt34q] {
    background: var(--studio-paper-warm, #FAF8F4);
    color: var(--studio-ink, #1A1A1A);
    font-family: 'DM Sans', system-ui, sans-serif;
    margin-top: 4rem;
    border-top: 1px solid var(--studio-border, #E5E1EC);
}

/* ── Newsletter band ────────────────────────────────────────────── */
.studio-footer-newsletter[b-6oyqadt34q] {
    /* Deep purple base + 45° pinstripe via repeating-linear-gradient.
       Subtle (4% alpha) so it reads as texture not pattern. */
    background:
        repeating-linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.04) 0 1px,
            transparent 1px 12px
        ),
        var(--studio-purple-deep, #2A1056);
    color: #fff;
    padding: 3rem 2rem;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 3rem;
    align-items: center;
    max-width: var(--kw-max-width, 1280px);
    margin: 0 auto;
}
.studio-footer-newsletter h3[b-6oyqadt34q] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: clamp(1.5rem, 2.6vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: #fff;
    margin-bottom: 0.5rem;
}
.studio-footer-newsletter p[b-6oyqadt34q] {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9375rem;
    max-width: 36ch;
}
.studio-newsletter-form[b-6oyqadt34q] { display: flex; max-width: 460px; width: 100%; margin-left: auto; }
.studio-newsletter-form input[b-6oyqadt34q] {
    flex: 1;
    height: 52px;
    border: none; outline: none;
    padding: 0 1.125rem;
    background: #fff;
    color: var(--studio-ink, #1A1A1A);
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.9375rem;
}
.studio-newsletter-form input[b-6oyqadt34q]::placeholder { color: #8A8590; }
.studio-newsletter-form button[b-6oyqadt34q] {
    height: 52px;
    padding: 0 1.75rem;
    background: var(--studio-magenta, #DB1471);
    color: #fff;
    border: none; cursor: pointer;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: background 0.18s ease;
}
.studio-newsletter-form button:hover[b-6oyqadt34q] { background: #B30E5C; }

/* ── 4-column links grid (with vertical hairlines) ───────────────── */
.studio-footer-grid[b-6oyqadt34q] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 4rem 2rem 2.5rem;
    max-width: var(--kw-max-width, 1280px);
    margin: 0 auto;
    position: relative;
}
/* Vertical hairlines between columns — the department-store cue. */
.studio-footer-grid > section[b-6oyqadt34q] {
    padding: 0 2rem;
    border-left: 1px solid var(--studio-border, #E5E1EC);
    min-width: 0;
}
.studio-footer-grid > section:first-child[b-6oyqadt34q] { border-left: none; padding-left: 0; }
.studio-footer-grid > section:last-child[b-6oyqadt34q] { padding-right: 0; }

.studio-footer-grid h4[b-6oyqadt34q] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.75rem; font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--studio-purple, #3D1B7A);
    margin-bottom: 1.25rem;
}
.studio-footer-grid a[b-6oyqadt34q],
.studio-footer-grid p[b-6oyqadt34q] {
    display: block;
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--studio-ink, #1A1A1A);
    text-decoration: none;
    transition: color 0.18s ease;
}
.studio-footer-grid a:hover[b-6oyqadt34q] { color: var(--studio-purple, #3D1B7A); }

/* ── Bottom row ─────────────────────────────────────────────────── */
.studio-footer-bottom[b-6oyqadt34q] {
    border-top: 1px solid var(--studio-border, #E5E1EC);
    padding: 1.5rem 2rem;
    max-width: var(--kw-max-width, 1280px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.studio-footer-bottom p[b-6oyqadt34q] {
    font-size: 0.8125rem;
    color: #6E6873;
    letter-spacing: 0.01em;
}
.studio-footer-social[b-6oyqadt34q] { display: flex; gap: 0.5rem; }
.studio-footer-social a[b-6oyqadt34q] {
    display: inline-flex; align-items: center;
    padding: 0.375rem 0.875rem;
    border: 1px solid var(--studio-border, #E5E1EC);
    background: #fff;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.75rem; font-weight: 500;
    color: var(--studio-ink, #1A1A1A);
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.studio-footer-social a:hover[b-6oyqadt34q] {
    background: var(--studio-purple, #3D1B7A);
    color: #fff;
    border-color: var(--studio-purple, #3D1B7A);
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .studio-footer-newsletter[b-6oyqadt34q] {
        grid-template-columns: 1fr;
        padding: 2.5rem 1.5rem;
        gap: 1.75rem;
    }
    .studio-newsletter-form[b-6oyqadt34q] { margin-left: 0; }
    .studio-footer-grid[b-6oyqadt34q] {
        grid-template-columns: repeat(2, 1fr);
        padding: 2.5rem 1.5rem;
        gap: 2rem 0;
    }
    .studio-footer-grid > section[b-6oyqadt34q] {
        padding: 0 1rem;
        border-left: 1px solid var(--studio-border, #E5E1EC);
    }
    .studio-footer-grid > section:nth-child(odd)[b-6oyqadt34q] { border-left: none; padding-left: 0; }
    .studio-footer-bottom[b-6oyqadt34q] { padding: 1.5rem; }
}
@media (max-width: 520px) {
    .studio-newsletter-form[b-6oyqadt34q] { flex-direction: column; gap: 0.5rem; }
    .studio-newsletter-form button[b-6oyqadt34q] { width: 100%; }
}
/* /Themes/Studio/StudioHeader.razor.rz.scp.css */
/* Studio — three-row header.
   Row 1: purple utility ticker (32px).
   Row 2: white brand + search + cart (72px).
   Row 3: white mega-menu with left-drawing purple underline on hover (52px). */

.studio-header[b-y6dxhu93b6] {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 1000;
    background: #ffffff;
    border-bottom: 1px solid var(--studio-border, #E5E1EC);
    font-family: 'DM Sans', system-ui, sans-serif;
}

/* ── Row 1 — Utility ticker ─────────────────────────────────────── */
.studio-header-utility[b-y6dxhu93b6] {
    background: var(--studio-purple, #3D1B7A);
    color: #fff;
    height: 32px;
    overflow: hidden;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}
.studio-utility-inner[b-y6dxhu93b6] {
    display: flex; align-items: center; justify-content: space-between;
    height: 100%;
}
.studio-utility-tagline[b-y6dxhu93b6] {
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.6875rem;
    opacity: 0.92;
}
.studio-utility-actions[b-y6dxhu93b6] { display: flex; gap: 1.5rem; }
.studio-utility-actions a[b-y6dxhu93b6] {
    color: #fff; text-decoration: none;
    font-weight: 500;
    transition: opacity 0.2s ease;
}
.studio-utility-actions a:hover[b-y6dxhu93b6] { opacity: 0.72; }

/* ── Row 2 — Brand + search + cart ───────────────────────────────── */
.studio-header-inner[b-y6dxhu93b6] {
    display: grid;
    grid-template-columns: auto minmax(auto, 480px) auto;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
    height: 80px;
    /* Thick brand-purple bottom border — separates the brand row from
       the mega-nav row below. Without it the two white rows bleed into
       one shapeless white band. */
    border-bottom: 3px solid var(--studio-purple, #3D1B7A);
}

.studio-logo[b-y6dxhu93b6] {
    text-decoration: none;
    display: inline-flex; align-items: center;
    gap: 0.625rem;
    color: var(--studio-purple, #3D1B7A);
    transition: color 0.2s ease;
}
.studio-logo:hover[b-y6dxhu93b6] { color: var(--studio-purple-deep, #2A1056); }
.studio-logo img[b-y6dxhu93b6] { height: 40px; width: auto; }
.studio-logo-mark[b-y6dxhu93b6] { flex-shrink: 0; }
.studio-logo-text[b-y6dxhu93b6] {
    font-family: 'Outfit', system-ui, sans-serif;
    /* Lifted from 1.5rem → 1.875rem (30px) so the wordmark holds its
       own against the 480px search field and the purple "ALL EQUIPMENT"
       pill below. */
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.028em;
    color: currentColor;
    line-height: 1;
}

.studio-search[b-y6dxhu93b6] {
    display: flex; align-items: center;
    border: 2px solid var(--studio-ink, #1A1A1A);
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    height: 44px;
    width: 100%;
}
.studio-search:focus-within[b-y6dxhu93b6] {
    border-color: var(--studio-purple, #3D1B7A);
    box-shadow: 4px 4px 0 0 var(--studio-purple, #3D1B7A);
}
.studio-search input[b-y6dxhu93b6] {
    flex: 1; border: none; outline: none;
    padding: 0 1rem; height: 100%;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.9375rem;
    color: var(--studio-ink, #1A1A1A);
    background: transparent;
}
.studio-search input[b-y6dxhu93b6]::placeholder {
    color: #8A8590; font-weight: 400;
}
.studio-search button[b-y6dxhu93b6] {
    background: var(--studio-ink, #1A1A1A);
    color: #fff;
    border: none;
    padding: 0 1.25rem;
    height: 100%;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s ease;
}
.studio-search button:hover[b-y6dxhu93b6] { background: var(--studio-purple, #3D1B7A); }

.studio-header-actions[b-y6dxhu93b6] { display: flex; align-items: center; gap: 1rem; }
.studio-cart-btn[b-y6dxhu93b6] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    position: relative;
    padding: 0.75rem 1.25rem;
    border: 2px solid var(--studio-ink, #1A1A1A);
    background: #fff;
    color: var(--studio-ink, #1A1A1A);
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.studio-cart-btn:hover[b-y6dxhu93b6] {
    background: var(--studio-ink, #1A1A1A);
    color: #fff;
}
.studio-cart-badge[b-y6dxhu93b6] {
    position: absolute; top: -8px; right: -8px;
    min-width: 22px; height: 22px;
    background: var(--studio-magenta, #DB1471);
    color: #fff;
    border-radius: 22px;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.6875rem; font-weight: 700;
    padding: 0 0.4rem;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 0 0 2px #fff;
}

/* ── Row 3 — Mega-nav with left-drawing underline ────────────────── */
.studio-mega-nav[b-y6dxhu93b6] {
    /* Faint purple-tinted strip — distinct from the pure-white brand row
       above. Used to be border-top: 1px on white but the brand row's
       new 3px purple border supersedes that, and the warm-paper tint
       gives the mega-nav its own zone. */
    background: var(--studio-paper-warm, #FAF8F4);
    height: 52px;
}
.studio-mega-inner[b-y6dxhu93b6] {
    display: flex; align-items: center;
    gap: 0.25rem;
    height: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}
.studio-mega-inner[b-y6dxhu93b6]::-webkit-scrollbar { display: none; }

.studio-mega-inner a[b-y6dxhu93b6] {
    position: relative;
    flex-shrink: 0;
    padding: 0 1rem; line-height: 52px;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--studio-ink, #1A1A1A);
    text-decoration: none;
    transition: color 0.18s ease;
}

/* Left-drawing underline — the "unforgettable detail" for the mega-nav.
   ::after pseudo-element scales from origin left over 280ms. */
.studio-mega-inner a[b-y6dxhu93b6]::after {
    content: "";
    position: absolute;
    left: 1rem; right: 1rem; bottom: 8px;
    height: 3px;
    background: var(--studio-purple, #3D1B7A);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.studio-mega-inner a:hover[b-y6dxhu93b6] { color: var(--studio-purple, #3D1B7A); }
.studio-mega-inner a:hover[b-y6dxhu93b6]::after { transform: scaleX(1); }

.studio-mega-all[b-y6dxhu93b6] {
    background: var(--studio-purple, #3D1B7A);
    color: #fff !important;
    padding: 0 1.5rem;
}
.studio-mega-all:hover[b-y6dxhu93b6] { background: var(--studio-purple-deep, #2A1056); color: #fff !important; }
.studio-mega-all[b-y6dxhu93b6]::after { display: none; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .studio-utility-tagline[b-y6dxhu93b6] { font-size: 0.625rem; letter-spacing: 0.08em; }
    .studio-utility-actions a:not(:first-child)[b-y6dxhu93b6] { display: none; }
    .studio-header-inner[b-y6dxhu93b6] {
        grid-template-columns: auto 1fr auto;
        gap: 1rem;
        height: auto;
        padding-top: 0.75rem; padding-bottom: 0.75rem;
    }
    .studio-search[b-y6dxhu93b6] { display: none; }
    .studio-cart-btn[b-y6dxhu93b6] { padding: 0.5rem 0.75rem; font-size: 0.75rem; }
    .studio-cart-btn span:not(.studio-cart-badge)[b-y6dxhu93b6] { display: none; }
    .studio-mega-nav[b-y6dxhu93b6] { height: 44px; }
    .studio-mega-inner a[b-y6dxhu93b6] { padding: 0 0.875rem; line-height: 44px; font-size: 0.75rem; }
}
/* /Themes/Studio/StudioLayout.razor.rz.scp.css */
/* Studio — layout shell.
   Pads the body below the three-row fixed header so content lands clear of
   utility (32px) + brand (80px) + mega-nav (52px) = 164px. */
.studio-layout[b-e0mgc6pg75] {
    padding-top: 164px;
    background: var(--studio-paper, #ffffff);
    min-height: 100vh;
}

@media (max-width: 900px) {
    /* Mega-nav collapses into a horizontal scroller; utility bar collapses
       to a single line. Total fixed height drops to ~120px. */
    .studio-layout[b-e0mgc6pg75] { padding-top: 120px; }
}
/* /Themes/Studio/StudioProductCard.razor.rz.scp.css */
/* Studio — product card.
   Square 1:1 crop. Slanted "Available" pill (clip-path) — the unforgettable
   micro-detail for the card. Hover only lifts the foot row (price + CTA),
   not the whole card — calmer, more retail-confident than universal lift. */

.studio-pcard[b-0pgeyta9f5] {
    display: block;
    background: #fff;
    border: 1px solid var(--studio-border, #E5E1EC);
    text-decoration: none;
    color: inherit;
    font-family: 'DM Sans', system-ui, sans-serif;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}
.studio-pcard:hover[b-0pgeyta9f5] {
    border-color: var(--studio-purple, #3D1B7A);
    box-shadow: 0 0 0 1px var(--studio-purple, #3D1B7A);
}

/* ── Media — square 1:1 ─────────────────────────────────────────── */
.studio-pcard-media[b-0pgeyta9f5] {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--studio-purple-soft, #EFEAF5);
}
.studio-pcard-media img[b-0pgeyta9f5] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.2, 0, 0.2, 1);
}
.studio-pcard:hover .studio-pcard-media img[b-0pgeyta9f5] { transform: scale(1.04); }
.studio-pcard-placeholder[b-0pgeyta9f5] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--studio-purple, #3D1B7A);
}

/* Slanted availability pill — clip-path makes the right edge a 12° slash. */
.studio-pcard-pill[b-0pgeyta9f5] {
    position: absolute; top: 12px; left: 0;
    background: var(--studio-magenta, #DB1471);
    color: #fff;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.6875rem; font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.4rem 1.25rem 0.4rem 0.75rem;
    clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    z-index: 1;
}

/* ── Info ───────────────────────────────────────────────────────── */
.studio-pcard-info[b-0pgeyta9f5] { padding: 1rem 1.125rem 1.125rem; }
.studio-pcard-category[b-0pgeyta9f5] {
    display: block;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.6875rem; font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--studio-purple, #3D1B7A);
    margin-bottom: 0.4rem;
}
.studio-pcard-name[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 1rem; font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.005em;
    color: var(--studio-ink, #1A1A1A);
    margin-bottom: 0.875rem;
    /* 2-line clamp keeps the card height predictable in the grid. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
}

/* Foot row — only this lifts on card hover. */
.studio-pcard-foot[b-0pgeyta9f5] {
    display: flex; align-items: baseline; justify-content: space-between;
    padding-top: 0.875rem;
    border-top: 1px solid var(--studio-border, #E5E1EC);
    transition: transform 0.2s ease;
}
.studio-pcard:hover .studio-pcard-foot[b-0pgeyta9f5] { transform: translateY(-2px); }

.studio-pcard-price[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 1.0625rem; font-weight: 800;
    color: var(--studio-ink, #1A1A1A);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}
.studio-pcard-price small[b-0pgeyta9f5] {
    font-size: 0.75rem;
    font-weight: 500;
    color: #6E6873;
    margin-left: 0.2em;
    letter-spacing: 0;
}
.studio-pcard-quote[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 600;
    color: var(--studio-purple, #3D1B7A);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.studio-pcard-cta[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.75rem; font-weight: 700;
    color: var(--studio-purple, #3D1B7A);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    transition: color 0.2s ease;
}
.studio-pcard:hover .studio-pcard-cta[b-0pgeyta9f5] { color: var(--studio-magenta, #DB1471); }
