@import 'Zambeste.Client.eh0j6jfhpm.bundle.scp.css';

/* /Components/Categories/CategoryPage.razor.rz.scp.css */
/* Category Hero */
.cat-hero[b-w0i3m6psaq] {
    background: linear-gradient(135deg, var(--grad-from), var(--grad-to));
    padding: 4rem 0 3rem;
    color: #fff;
}

.cat-hero-inner[b-w0i3m6psaq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.cat-hero-copy[b-w0i3m6psaq] {
    flex: 1 1 auto;
    min-width: 0;
}

.cat-hero-emoji[b-w0i3m6psaq] {
    font-size: 2.8rem;
    line-height: 1;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.18));
    margin-bottom: 10px;
}

.cat-hero-title[b-w0i3m6psaq] {
    font-size: 2.2rem;
    font-weight: 800;
    margin: 0 0 6px;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

.cat-hero-tagline[b-w0i3m6psaq] {
    margin: 0 0 6px;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.4;
    max-width: 560px;
    text-shadow: 0 1px 6px rgba(0,0,0,0.12);
}

.cat-hero-cta[b-w0i3m6psaq] {
    margin-top: 16px;
}

.btn-hero-secondary[b-w0i3m6psaq] {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border: 1.5px solid rgba(255, 255, 255, 0.7);
    color: #fff;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0.55rem 1.4rem;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.btn-hero-secondary:hover[b-w0i3m6psaq] {
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
    transform: translateY(-1px);
}

.btn-hero-secondary:focus-visible[b-w0i3m6psaq] {
    outline: 3px solid rgba(255, 255, 255, 0.55);
    outline-offset: 3px;
}

/* Hero mini-card art */
.cat-hero-art[b-w0i3m6psaq] {
    position: relative;
    flex: 0 0 auto;
    width: 270px;
    height: 200px;
    margin-right: 12px;
}

.cat-hero-minicard[b-w0i3m6psaq] {
    position: absolute;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Side cards: smaller, lower, pushed behind to frame the dominant front card. */
.cat-hero-minicard-0[b-w0i3m6psaq],
.cat-hero-minicard-2[b-w0i3m6psaq] {
    width: 94px;
    height: 130px;
    font-size: 2.2rem;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16);
    opacity: 0.9;
}

.cat-hero-minicard-0[b-w0i3m6psaq] {
    left: 6px;
    top: 46px;
    transform: rotate(-15deg);
    z-index: 1;
}

.cat-hero-minicard-2[b-w0i3m6psaq] {
    left: 168px;
    top: 46px;
    transform: rotate(14deg);
    z-index: 2;
}

/* Front card: clearly dominant focal point. */
.cat-hero-minicard-1[b-w0i3m6psaq] {
    width: 132px;
    height: 182px;
    font-size: 3.8rem;
    left: 68px;
    top: 8px;
    transform: rotate(-2deg);
    z-index: 3;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28);
}

.cat-breadcrumb[b-w0i3m6psaq] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    color: rgba(255,255,255,0.82);
}

.cat-breadcrumb a[b-w0i3m6psaq] {
    color: #fff;
    text-decoration: none;
}

.cat-breadcrumb a:hover[b-w0i3m6psaq],
.cat-breadcrumb a:focus[b-w0i3m6psaq] {
    text-decoration: underline;
    color: #fff;
}

.cat-breadcrumb a:focus-visible[b-w0i3m6psaq] {
    outline: 3px solid rgba(255,255,255,0.45);
    outline-offset: 3px;
    border-radius: 6px;
}

.cat-breadcrumb i[b-w0i3m6psaq] {
    font-size: 0.65rem;
    opacity: 0.75;
}

.cat-hero-desc[b-w0i3m6psaq] {
    margin: 0;
    opacity: 0.9;
    font-size: 1.05rem;
    font-weight: 500;
    max-width: 560px;
    line-height: 1.5;
}

/* Category Switcher */
.cat-switcher[b-w0i3m6psaq] {
    background: #fff;
    border-bottom: 1px solid rgba(255, 71, 126, 0.1);
}

.cat-switcher-inner[b-w0i3m6psaq] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
}

.cat-switcher-label[b-w0i3m6psaq] {
    color: #9a9a9a;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.cat-switcher-scroll[b-w0i3m6psaq] {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 2px 0;
}

.cat-switcher-scroll[b-w0i3m6psaq]::-webkit-scrollbar {
    display: none;
}

.cat-switcher-pill[b-w0i3m6psaq] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 13px;
    border-radius: 100px;
    border: 1.5px solid #e8eaeb;
    color: #555;
    background: #fafafa;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.cat-switcher-pill:hover[b-w0i3m6psaq] {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: #fff0f4;
    transform: translateY(-1px);
}

.cat-switcher-pill.active[b-w0i3m6psaq] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(255, 71, 126, 0.24);
}

.cat-switcher-pill:focus-visible[b-w0i3m6psaq] {
    outline: 3px solid rgba(255, 71, 126, 0.35);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .cat-hero-art[b-w0i3m6psaq] {
        display: none;
    }
}

@media (max-width: 576px) {
    .cat-hero[b-w0i3m6psaq] {
        padding: 2.5rem 0 2rem;
    }

    .cat-hero-emoji[b-w0i3m6psaq] {
        font-size: 2.4rem;
    }

    .cat-hero-title[b-w0i3m6psaq] {
        font-size: 1.6rem;
    }

    .cat-hero-tagline[b-w0i3m6psaq] {
        font-size: 0.98rem;
    }

    .cat-hero-desc[b-w0i3m6psaq] {
        font-size: 0.9rem;
    }

    .cat-switcher-inner[b-w0i3m6psaq] {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .cat-switcher-scroll[b-w0i3m6psaq] {
        width: 100%;
    }
}

/* Sticky Filters Bar */
.sticky-filters[b-w0i3m6psaq] {
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid rgba(255, 71, 126, 0.1);
    padding: 14px 0;
    position: sticky;
    top: 75px;
    z-index: 850;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}

.cat-filters-inner[b-w0i3m6psaq] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cat-filters-label[b-w0i3m6psaq] {
    color: var(--color-secondary);
    font-size: 0.86rem;
    font-weight: 800;
    white-space: nowrap;
}

/* Subcategory Pills */
.subcat-pills-scroll[b-w0i3m6psaq] {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    flex: 1;
    min-width: 0;
    padding-bottom: 2px;
}

.subcat-pills-scroll[b-w0i3m6psaq]::-webkit-scrollbar {
    display: none;
}

.subcat-pill[b-w0i3m6psaq] {
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    border-radius: 100px;
    border: 1.5px solid #e1e3e4;
    background: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    color: #444;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
    font-family: inherit;
}

.subcat-pill:hover[b-w0i3m6psaq] {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: #fff0f4;
}

.subcat-pill.active[b-w0i3m6psaq] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(255, 71, 126, 0.3);
}

.subcat-pill:focus-visible[b-w0i3m6psaq],
.sort-select:focus-visible[b-w0i3m6psaq],
.btn-clear-filters:focus-visible[b-w0i3m6psaq],
.btn-cta-primary:focus-visible[b-w0i3m6psaq],
.btn-cta-secondary:focus-visible[b-w0i3m6psaq] {
    outline: 3px solid rgba(255, 71, 126, 0.35);
    outline-offset: 3px;
}

/* Sort */
.sort-select[b-w0i3m6psaq] {
    padding: 6px 14px;
    border: 1.5px solid #e1e3e4;
    border-radius: 12px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #444;
    background: #fff;
    cursor: pointer;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.sort-select:focus[b-w0i3m6psaq] {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(255, 71, 126, 0.1);
}

/* Results Area */
.cat-results-section[b-w0i3m6psaq] {
    position: relative;
    overflow: hidden;
}

.cat-bg-pattern[b-w0i3m6psaq] {
    position: absolute;
    inset: 0;
    opacity: 0.045;
    pointer-events: none;
    z-index: 0;
}

.cat-bg-pattern span[b-w0i3m6psaq] {
    position: absolute;
    line-height: 1;
    user-select: none;
}

.cat-results[b-w0i3m6psaq] {
    position: relative;
    z-index: 1;
    padding-top: 32px;
    padding-bottom: 64px;
    min-height: 400px;
    /* offset for the sticky header + filter bar when the hero CTA scrolls here */
    scroll-margin-top: 140px;
}

.cat-results-header[b-w0i3m6psaq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.cat-results-meta[b-w0i3m6psaq] {
    display: flex;
    align-items: center;
}

.results-count[b-w0i3m6psaq] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #888;
}

/* Centered grid for sparse (1–2) results so cards aren't stranded on the left */
.cat-grid-centered[b-w0i3m6psaq] {
    justify-content: center;
}

.btn-clear-filters[b-w0i3m6psaq] {
    margin-left: 12px;
    padding: 4px 14px;
    border-radius: 100px;
    border: 1.5px solid #e1e3e4;
    background: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.18s ease;
    font-family: inherit;
}

.btn-clear-filters:hover[b-w0i3m6psaq] {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: #fff0f4;
}

/* Load more */
.cat-loadmore-wrap[b-w0i3m6psaq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
}

.cat-loadmore-meta[b-w0i3m6psaq] {
    font-size: 0.85rem;
    color: #999;
    font-weight: 500;
}

/* Shared CTA buttons (scoped to this page) */
.btn-cta-primary[b-w0i3m6psaq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--color-primary), #c9356b);
    color: #fff;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    padding: 0.7rem 1.75rem;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.btn-cta-primary:hover[b-w0i3m6psaq] {
    opacity: 0.92;
    transform: translateY(-1px);
    color: #fff;
}

.btn-cta-secondary[b-w0i3m6psaq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--color-primary);
    border: 1.5px solid var(--color-primary);
    border-radius: 50px;
    font-weight: 700;
    padding: 0.65rem 1.5rem;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.btn-cta-secondary:hover[b-w0i3m6psaq] {
    background: #fff0f4;
    transform: translateY(-1px);
}

/* Empty State (kept compact so recommended cards stay near the fold) */
.cat-empty[b-w0i3m6psaq] {
    text-align: center;
    padding: 44px 16px 28px;
}

.cat-empty-icon[b-w0i3m6psaq] {
    font-size: 2.6rem;
    color: var(--color-primary);
    opacity: 0.65;
    margin-bottom: 14px;
}

.cat-empty h3[b-w0i3m6psaq] {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 8px;
}

.cat-empty p[b-w0i3m6psaq] {
    color: #888;
    font-weight: 500;
    margin: 0 auto 18px;
    max-width: 440px;
    line-height: 1.5;
}

.cat-empty-actions[b-w0i3m6psaq] {
    display: inline-flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Recommended cards (shown on empty state) */
.cat-recommend[b-w0i3m6psaq] {
    margin-top: 16px;
}

.cat-recommend-title[b-w0i3m6psaq] {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 18px;
    text-align: center;
}

@media (max-width: 576px) {
    .cat-results-header[b-w0i3m6psaq] {
        align-items: stretch;
    }

    .sort-select[b-w0i3m6psaq] {
        width: 100%;
    }
}

/* Not-found (category slug mismatch) */
.cat-notfound[b-w0i3m6psaq] {
    padding: 4rem 1rem;
    display: flex;
    justify-content: center;
}

.cat-notfound-card[b-w0i3m6psaq] {
    background: #fff;
    border-radius: 24px;
    padding: 3rem 2.5rem;
    box-shadow: var(--card-shadow);
    text-align: center;
    max-width: 480px;
    width: 100%;
}

.cat-notfound-icon[b-w0i3m6psaq] {
    font-size: 3rem;
    color: var(--color-primary);
    margin-bottom: 1rem;
    display: block;
}

.cat-notfound-card h2[b-w0i3m6psaq] {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 0.5rem;
}

.cat-notfound-card p[b-w0i3m6psaq] {
    color: #888;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

/* Skeleton Loading */
.cat-skeleton-grid[b-w0i3m6psaq] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

@media (min-width: 768px) {
    .cat-skeleton-grid[b-w0i3m6psaq] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 992px) {
    .cat-skeleton-grid[b-w0i3m6psaq] {
        grid-template-columns: repeat(4, 1fr);
    }
}

.cat-skeleton-card[b-w0i3m6psaq] {
    border-radius: 16px;
    overflow: hidden;
}

.skeleton-img[b-w0i3m6psaq] {
    width: 100%;
    aspect-ratio: 5/7;
    border-radius: 12px;
    background: #eee;
}

.skeleton-line[b-w0i3m6psaq] {
    height: 14px;
    border-radius: 8px;
    background: #eee;
}

@keyframes pulse-b-w0i3m6psaq {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.pulse[b-w0i3m6psaq] {
    animation: pulse-b-w0i3m6psaq 1.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .cat-switcher-pill[b-w0i3m6psaq] {
        transition: none;
    }

    .cat-switcher-pill:hover[b-w0i3m6psaq] {
        transform: none;
    }

    .pulse[b-w0i3m6psaq] {
        animation: none;
    }
}
/* /Components/HomePage/CategoryGrid.razor.rz.scp.css */
.cat-grid-section[b-urallrbb1m] {
    padding: 5rem 0 4rem;
    background: #fafafa;
}

.cat-grid-heading[b-urallrbb1m] {
    font-size: 2rem;
    letter-spacing: -0.02em;
}

/* ─── Card ─── */
.cat-grid-card[b-urallrbb1m] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 380px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    color: #1a1a1a;
    background: #fff;
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.cat-grid-card:hover[b-urallrbb1m] {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.11);
    color: #1a1a1a;
    text-decoration: none;
}

/* ─── Preview area ─── */
.cat-preview-area[b-urallrbb1m] {
    position: relative;
    height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.cb-birthday  .cat-preview-area[b-urallrbb1m] { background: linear-gradient(140deg, #FFF3C4 0%, #FFD58A 100%); }
.cb-love      .cat-preview-area[b-urallrbb1m] { background: linear-gradient(140deg, #FFE4EF 0%, #FFB8CE 100%); }
.cb-family    .cat-preview-area[b-urallrbb1m] { background: linear-gradient(140deg, #FFF0DC 0%, #FFD0A0 100%); }
.cb-friends   .cat-preview-area[b-urallrbb1m] { background: linear-gradient(140deg, #D8FFF2 0%, #A4EEDB 100%); }
.cb-gratitude .cat-preview-area[b-urallrbb1m] { background: linear-gradient(140deg, #FFFBD0 0%, #FFED78 100%); }
.cb-fun       .cat-preview-area[b-urallrbb1m] { background: linear-gradient(140deg, #FEFCE8 0%, #FFE44A 100%); }

/* ─── Mini card stack ─── */
.cat-mini-stack[b-urallrbb1m] {
    position: relative;
    width: 130px;
    height: 166px;
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.cat-grid-card:hover .cat-mini-stack[b-urallrbb1m] {
    transform: scale(1.07) translateY(-4px);
}

.cat-mini-card[b-urallrbb1m] {
    position: absolute;
    width: 108px;
    height: 148px;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
    top: 9px;
    left: 11px;
}

.cat-mini-back[b-urallrbb1m] {
    transform: rotate(-6deg) translate(-10px, 3px);
    z-index: 1;
    opacity: 0.65;
}

.cat-mini-front[b-urallrbb1m] {
    transform: rotate(2deg);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px;
}

/* ─── Birthday: confetti dots + sparkles ─── */
.cb-birthday .cat-mini-back[b-urallrbb1m]  { background: linear-gradient(135deg, #FFE082 0%, #FFB300 100%); }
.cb-birthday .cat-mini-front[b-urallrbb1m] {
    background:
        /* top edge confetti */
        radial-gradient(circle at 10px 10px,  rgba(255,255,255,0.9)  3px,   transparent 3px),
        radial-gradient(circle at 34px  5px,  rgba(255,255,255,0.7)  2px,   transparent 2px),
        radial-gradient(circle at 64px  7px,  rgba(255,255,255,0.85) 3.5px, transparent 3.5px),
        radial-gradient(circle at 96px 11px,  rgba(255,255,255,0.75) 2.5px, transparent 2.5px),
        /* left / right edges */
        radial-gradient(circle at  5px 36px,  rgba(255,255,255,0.8)  2.5px, transparent 2.5px),
        radial-gradient(circle at 104px 34px, rgba(255,255,255,0.7)  2px,   transparent 2px),
        radial-gradient(circle at  4px 68px,  rgba(255,255,255,0.65) 3px,   transparent 3px),
        radial-gradient(circle at 105px 70px, rgba(255,255,255,0.7)  2.5px, transparent 2.5px),
        /* below emoji */
        radial-gradient(circle at 16px 92px,  rgba(255,255,255,0.75) 3px,   transparent 3px),
        radial-gradient(circle at 45px 88px,  rgba(255,255,255,0.6)  2px,   transparent 2px),
        radial-gradient(circle at 76px 90px,  rgba(255,255,255,0.7)  3.5px, transparent 3.5px),
        radial-gradient(circle at 101px 87px, rgba(255,255,255,0.65) 2px,   transparent 2px),
        /* bottom edge */
        radial-gradient(circle at  8px 118px, rgba(255,255,255,0.7)  2.5px, transparent 2.5px),
        radial-gradient(circle at 38px 125px, rgba(255,255,255,0.85) 4px,   transparent 4px),
        radial-gradient(circle at 68px 120px, rgba(255,255,255,0.7)  3px,   transparent 3px),
        radial-gradient(circle at 98px 116px, rgba(255,255,255,0.75) 2px,   transparent 2px),
        /* sparkle stars — bright center + soft halo */
        radial-gradient(circle at 52px  5px, rgba(255,255,255,0.95) 3px, rgba(255,255,255,0.2) 6px, transparent 8px),
        radial-gradient(circle at 20px 130px,rgba(255,255,255,0.9)  2.5px,rgba(255,255,255,0.18) 5px,transparent 7px),
        /* elongated confetti for variety */
        radial-gradient(9px 2.5px at 73px 48px, rgba(255,255,255,0.62) 98%, transparent 100%),
        radial-gradient(2.5px 7px at 29px 76px, rgba(255,255,255,0.58) 98%, transparent 100%),
        linear-gradient(135deg, #FF6B6B 0%, #FFD166 100%);
}

/* ─── Love: diagonal gift-wrap stripes ─── */
.cb-love .cat-mini-back[b-urallrbb1m]  { background: linear-gradient(135deg, #F8BBD9 0%, #F06292 100%); }
.cb-love .cat-mini-front[b-urallrbb1m] {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(255,255,255,0)    0px,
            rgba(255,255,255,0)    9px,
            rgba(255,255,255,0.13) 9px,
            rgba(255,255,255,0.13) 11px
        ),
        linear-gradient(135deg, #FF477E 0%, #FF8FAB 100%);
}

/* ─── Family: corner warmth clouds + family trio ─── */
.cb-family .cat-mini-back[b-urallrbb1m]  { background: linear-gradient(135deg, #FFCC80 0%, #FFA726 100%); }
.cb-family .cat-mini-front[b-urallrbb1m] {
    background:
        /* cozy corner glows */
        radial-gradient(circle 55px at -5px  -5px, rgba(255,255,255,0.16) 0%, transparent 100%),
        radial-gradient(circle 45px at 113px -5px, rgba(255,255,255,0.13) 0%, transparent 100%),
        radial-gradient(circle 50px at -5px 153px, rgba(255,255,255,0.16) 0%, transparent 100%),
        radial-gradient(circle 40px at 113px 153px,rgba(255,255,255,0.13) 0%, transparent 100%),
        /* mid soft shapes */
        radial-gradient(circle 20px at 14% 50%, rgba(255,255,255,0.14) 0%, transparent 100%),
        radial-gradient(circle 15px at 86% 44%, rgba(255,255,255,0.12) 0%, transparent 100%),
        radial-gradient(circle 24px at 50% 24%, rgba(255,255,255,0.13) 0%, transparent 100%),
        /* tiny warm sparkles */
        radial-gradient(circle at 26px 38px,  rgba(255,255,255,0.7)  2px,   transparent 2px),
        radial-gradient(circle at 84px 36px,  rgba(255,255,255,0.6)  1.5px, transparent 1.5px),
        radial-gradient(circle at 96px 84px,  rgba(255,255,255,0.65) 2px,   transparent 2px),
        radial-gradient(circle at 10px 90px,  rgba(255,255,255,0.55) 1.5px, transparent 1.5px),
        /* family trio — three soft shapes at bottom */
        radial-gradient(circle 32px at 22% 80%, rgba(255,255,255,0.22) 0%, transparent 100%),
        radial-gradient(circle 24px at 50% 84%, rgba(255,255,255,0.2)  0%, transparent 100%),
        radial-gradient(circle 18px at 78% 79%, rgba(255,255,255,0.18) 0%, transparent 100%),
        linear-gradient(135deg, #FFB347 0%, #FFCC80 100%);
}

/* ─── Friends: polaroid split (color top / white bottom) ─── */
.cb-friends .cat-mini-back[b-urallrbb1m]  { background: linear-gradient(135deg, #80DEEA 0%, #26C6DA 100%); }
.cb-friends .cat-mini-front[b-urallrbb1m] {
    background: linear-gradient(to bottom, #06D6A0 0%, #45B7D1 50%, #f7fffe 50.1%, #f7fffe 100%);
    justify-content: flex-start;
    padding: 12px 14px 14px;
    gap: 24px;
}

.cb-friends .cat-mini-front .cat-mini-line[b-urallrbb1m] {
    background: rgba(6, 160, 130, 0.18);
}

/* ─── Gratitude: cream card with gold stars + paper texture ─── */
.cb-gratitude .cat-mini-back[b-urallrbb1m]  { background: linear-gradient(135deg, #FFF176 0%, #FFEE58 100%); }
.cb-gratitude .cat-mini-front[b-urallrbb1m] {
    background:
        /* gold star dots */
        radial-gradient(circle at 16px 18px,  rgba(195,150,0,0.55) 2px,   transparent 2px),
        radial-gradient(circle at 86px 14px,  rgba(195,150,0,0.45) 1.5px, transparent 1.5px),
        radial-gradient(circle at 97px 50px,  rgba(195,150,0,0.5)  2.5px, transparent 2.5px),
        radial-gradient(circle at 12px 72px,  rgba(195,150,0,0.4)  1.5px, transparent 1.5px),
        radial-gradient(circle at 53px 122px, rgba(195,150,0,0.45) 2px,   transparent 2px),
        radial-gradient(circle at 93px 112px, rgba(195,150,0,0.4)  1.5px, transparent 1.5px),
        radial-gradient(circle at 28px 120px, rgba(195,150,0,0.5)  2px,   transparent 2px),
        /* subtle diagonal paper texture */
        repeating-linear-gradient(
            135deg,
            rgba(195,150,0,0.04) 0px,
            rgba(195,150,0,0.04) 1px,
            transparent         1px,
            transparent         18px
        ),
        /* cream base */
        linear-gradient(160deg, #fffef5 0%, #fff9d8 100%);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(210, 170, 0, 0.28);
}

.cb-gratitude .cat-mini-front .cat-mini-line[b-urallrbb1m] {
    background: rgba(160, 120, 0, 0.16);
}

/* ─── Fun: sunburst rays ─── */
.cb-fun .cat-mini-back[b-urallrbb1m]  { background: linear-gradient(135deg, #FFF59D 0%, #FFEE58 100%); }
.cb-fun .cat-mini-front[b-urallrbb1m] {
    background:
        conic-gradient(
            from 0deg at 50% 46%,
            rgba(255,255,255,0.2) 0deg,   rgba(255,255,255,0) 24deg,
            rgba(255,255,255,0.2) 40deg,  rgba(255,255,255,0) 64deg,
            rgba(255,255,255,0.2) 80deg,  rgba(255,255,255,0) 104deg,
            rgba(255,255,255,0.2) 120deg, rgba(255,255,255,0) 144deg,
            rgba(255,255,255,0.2) 160deg, rgba(255,255,255,0) 184deg,
            rgba(255,255,255,0.2) 200deg, rgba(255,255,255,0) 224deg,
            rgba(255,255,255,0.2) 240deg, rgba(255,255,255,0) 264deg,
            rgba(255,255,255,0.2) 280deg, rgba(255,255,255,0) 304deg,
            rgba(255,255,255,0.2) 320deg, rgba(255,255,255,0) 344deg,
            rgba(255,255,255,0.2) 360deg
        ),
        linear-gradient(135deg, #f7971e 0%, #ffd200 100%);
}

.cat-mini-emoji[b-urallrbb1m] {
    font-size: 2.4rem;
    line-height: 1;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15));
}

.cat-mini-lines[b-urallrbb1m] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.cat-mini-line[b-urallrbb1m] {
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.55);
    margin: 0 auto;
}

.cat-mini-line.wide[b-urallrbb1m]   { width: 78%; }
.cat-mini-line.narrow[b-urallrbb1m] { width: 52%; }

/* ─── Card body ─── */
.cat-card-body[b-urallrbb1m] {
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    flex: 1;
}

.cb-birthday  .cat-card-body[b-urallrbb1m] { background: linear-gradient(170deg, #fffdf4 0%, #fff 50%); }
.cb-love      .cat-card-body[b-urallrbb1m] { background: linear-gradient(170deg, #fff8fb 0%, #fff 50%); }
.cb-family    .cat-card-body[b-urallrbb1m] { background: linear-gradient(170deg, #fffdf6 0%, #fff 50%); }
.cb-friends   .cat-card-body[b-urallrbb1m] { background: linear-gradient(170deg, #f5fffc 0%, #fff 50%); }
.cb-gratitude .cat-card-body[b-urallrbb1m] { background: linear-gradient(170deg, #fffef0 0%, #fff 50%); }
.cb-fun       .cat-card-body[b-urallrbb1m] { background: linear-gradient(170deg, #fffef0 0%, #fff 50%); }

/* ─── Emoji pill with blurry glow ─── */
.cat-emoji-pill[b-urallrbb1m] {
    position: relative;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
    margin-bottom: 0.15rem;
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.cat-grid-card:hover .cat-emoji-pill[b-urallrbb1m] {
    transform: scale(1.1);
}

.cat-emoji-pill[b-urallrbb1m]::before {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    filter: blur(10px);
    opacity: 0.45;
    z-index: -1;
    transition: opacity 0.25s;
}

.cat-grid-card:hover .cat-emoji-pill[b-urallrbb1m]::before {
    opacity: 0.7;
}

.cb-birthday  .cat-emoji-pill[b-urallrbb1m]::before { background: radial-gradient(circle, #FFD166, #FF6B6B); }
.cb-love      .cat-emoji-pill[b-urallrbb1m]::before { background: radial-gradient(circle, #FF8FAB, #FF477E); }
.cb-family    .cat-emoji-pill[b-urallrbb1m]::before { background: radial-gradient(circle, #FFCC80, #FFB347); }
.cb-friends   .cat-emoji-pill[b-urallrbb1m]::before { background: radial-gradient(circle, #45B7D1, #06D6A0); }
.cb-gratitude .cat-emoji-pill[b-urallrbb1m]::before { background: radial-gradient(circle, #ffd200, #f9d423); }
.cb-fun       .cat-emoji-pill[b-urallrbb1m]::before { background: radial-gradient(circle, #ffd200, #f7971e); }

.cat-card-emoji[b-urallrbb1m] {
    font-size: 2rem;
    line-height: 1;
    position: relative;
    z-index: 1;
}

.cat-card-title[b-urallrbb1m] {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0;
}

.cat-card-desc[b-urallrbb1m] {
    color: #666;
    font-size: 0.87rem;
    line-height: 1.5;
    margin: 0;
}

/* ─── Tags ─── */
.cat-card-tags[b-urallrbb1m] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 0.25rem;
}

.cat-tag[b-urallrbb1m] {
    background: rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 100px;
    padding: 5px 13px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #444;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.cat-tag:hover[b-urallrbb1m] {
    background: rgba(0, 0, 0, 0.12);
    border-color: rgba(0, 0, 0, 0.14);
    color: #1a1a1a;
}

/* ─── Hover CTA — tells the user what a click does ─── */
.cat-card-cta[b-urallrbb1m] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: auto;
    padding-top: 0.85rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1a1a1a;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.cat-card-cta i[b-urallrbb1m] {
    transition: transform 0.22s ease;
}

.cat-grid-card:hover .cat-card-cta[b-urallrbb1m] {
    opacity: 1;
    transform: translateY(0);
}

.cat-grid-card:hover .cat-card-cta i[b-urallrbb1m] {
    transform: translateX(4px);
}

/* ─── Popular badge + emphasis for the primary category ─── */
.cat-popular-badge[b-urallrbb1m] {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 5px 12px;
    border-radius: 100px;
    background: rgba(26, 26, 26, 0.88);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(2px);
}

.cat-popular-badge i[b-urallrbb1m] {
    color: #FFD166;
    font-size: 0.7rem;
}

.cat-grid-card.is-popular[b-urallrbb1m] {
    border-color: rgba(255, 145, 0, 0.35);
    box-shadow: 0 4px 20px rgba(255, 145, 0, 0.12);
}

.cat-grid-card.is-popular:hover[b-urallrbb1m] {
    box-shadow: 0 16px 48px rgba(255, 145, 0, 0.2);
}

@media (prefers-reduced-motion: reduce) {
    .cat-grid-card[b-urallrbb1m],
    .cat-mini-stack[b-urallrbb1m],
    .cat-emoji-pill[b-urallrbb1m],
    .cat-emoji-pill[b-urallrbb1m]::before,
    .cat-tag[b-urallrbb1m],
    .cat-card-cta[b-urallrbb1m],
    .cat-card-cta i[b-urallrbb1m] {
        transition: none;
    }

    .cat-grid-card:hover[b-urallrbb1m] {
        transform: none;
    }

    .cat-grid-card:hover .cat-mini-stack[b-urallrbb1m] {
        transform: none;
    }
}
/* /Components/HomePage/CategoryStrip.razor.rz.scp.css */
.categories-strip[b-56drhxxrlg] {
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid #e1e3e4;
    padding: 20px 0;
    position: sticky;
    top: 75px;
    z-index: 900;
    backdrop-filter: blur(8px);
}

.cat-scroll-wrapper[b-56drhxxrlg] {
    position: relative;
}

.scroll-hint-overlay[b-56drhxxrlg] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 60px;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.95) 40%, #FFF);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 5px;
    z-index: 5;
}

.hint-arrow[b-56drhxxrlg] {
    color: var(--color-primary);
    font-size: 1.2rem;
    animation: bounceRight-b-56drhxxrlg 1.5s infinite;
    background: white;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    pointer-events: auto;
    cursor: pointer;
}

@keyframes bounceRight-b-56drhxxrlg {

    0%,
    100% {
        transform: translateX(0);
        opacity: 0.8;
    }

    50% {
        transform: translateX(5px);
        opacity: 1;
    }
}

.cat-scroll-container[b-56drhxxrlg] {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding: 10px 60px 15px 20px;
    scrollbar-width: none;
    justify-content: flex-start;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 20px;
}

@media (min-width: 992px) {
    .cat-scroll-container[b-56drhxxrlg] {
        justify-content: center;
        padding-right: 20px;
    }

    .scroll-hint-overlay[b-56drhxxrlg] {
        display: none;
    }
}

.cat-scroll-container[b-56drhxxrlg]::-webkit-scrollbar {
    display: none;
}

.cat-bubble-wrapper[b-56drhxxrlg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    min-width: 88px;
    scroll-snap-align: start;
}

.cat-bubble-link[b-56drhxxrlg] {
    text-decoration: none;
    color: inherit;
}

.cat-bubble-wrapper:hover .cat-bubble[b-56drhxxrlg] {
    transform: translateY(-6px);
    box-shadow: 0 10px 20px rgba(255, 71, 126, 0.18), 0 0 0 2px var(--color-primary);
}

.cat-bubble-wrapper:hover .cat-name[b-56drhxxrlg] {
    color: var(--color-primary);
}

.cat-bubble-link:focus-visible[b-56drhxxrlg] {
    outline: 3px solid rgba(255, 71, 126, 0.35);
    outline-offset: 6px;
    border-radius: 16px;
}

.cat-bubble-link:focus-visible .cat-bubble[b-56drhxxrlg] {
    box-shadow: 0 10px 20px rgba(255, 71, 126, 0.18), 0 0 0 2px var(--color-primary);
}

.cat-bubble-link:focus-visible .cat-name[b-56drhxxrlg] {
    color: var(--color-primary);
}

.cat-bubble[b-56drhxxrlg] {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    margin-bottom: 10px;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.cb-bday[b-56drhxxrlg] {
    background: #FFFDF0;
}

.cb-childrens-day[b-56drhxxrlg] {
    background: #F0FFF9;
}

.cb-love[b-56drhxxrlg] {
    background: #FFF0F5;
}

.cb-fun[b-56drhxxrlg] {
    background: #F0FAFF;
}

.cb-baby[b-56drhxxrlg] {
    background: #F2FFF5;
}

.cb-sorry[b-56drhxxrlg] {
    background: #FFF0F5;
}

.cb-colleagues[b-56drhxxrlg] {
    background: #F0F8FF;
}

.cb-md[b-56drhxxrlg] {
    background: #F5F3FF;
}

.cb-birthday[b-56drhxxrlg] {
    background: #FFF8E7;
}

.cb-family[b-56drhxxrlg] {
    background: #FFF5ED;
}

.cb-emotional[b-56drhxxrlg] {
    background: #EDF6FF;
}

.cb-genz[b-56drhxxrlg] {
    background: #F5F0FF;
}

.cb-friends[b-56drhxxrlg] {
    background: #EDFFF8;
}

.cb-gratitude[b-56drhxxrlg] {
    background: #FFFDE7;
}

.cb-elegant[b-56drhxxrlg] {
    background: #F5F5F5;
}

.cb-meme[b-56drhxxrlg] {
    background: #FFFDE7;
}

.cb-more[b-56drhxxrlg] {
    background: #FFF5F8;
}

.cat-name[b-56drhxxrlg] {
    font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    color: #1a1a1a;
    white-space: nowrap;
    text-align: center;
    letter-spacing: -0.01em;
    transition: color 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
    .hint-arrow[b-56drhxxrlg] {
        animation: none;
    }

    .cat-bubble[b-56drhxxrlg] {
        transition: none;
    }

    .cat-bubble-wrapper:hover .cat-bubble[b-56drhxxrlg],
    .cat-bubble-link:focus-visible .cat-bubble[b-56drhxxrlg] {
        transform: none;
    }
}
/* /Components/HomePage/HeroSection.razor.rz.scp.css */
.hero-section[b-1y0e3emheb] {
    padding: 4rem 0 2rem 0;
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 80% 20%, #fff0f5 0%, #FFF9F5 60%);
}

.hero-blob[b-1y0e3emheb] {
    position: absolute;
    top: -30%;
    right: -10%;
    width: 60%;
    height: 140%;
    background: linear-gradient(135deg, #ffeaf2, #fff);
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    z-index: 0;
    animation: morphBlob-b-1y0e3emheb 15s ease-in-out infinite alternate;
    opacity: 0.7;
}

@keyframes morphBlob-b-1y0e3emheb {
    0% {
        border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    }

    100% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
}

.hero-heading[b-1y0e3emheb] {
    font-size: 3.15rem;
    font-weight: 800;
    color: var(--color-secondary);
    line-height: 1.12;
    margin-bottom: 1.5rem;
}

.hero-name-field[b-1y0e3emheb] {
    margin-bottom: 2rem;
    width: 100%;
    max-width: 340px;
}

.hero-name-label[b-1y0e3emheb] {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-secondary);
}

.hero-name-input[b-1y0e3emheb] {
    width: 100%;
    border: 1.5px solid rgba(61, 12, 89, 0.15);
    background: #fff;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 1.05rem;
    color: var(--color-secondary);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .hero-name-input[b-1y0e3emheb]::placeholder {
        color: #9a93a3;
    }

    .hero-name-input:focus[b-1y0e3emheb] {
        border-color: var(--color-primary);
        box-shadow: 0 0 0 3px rgba(255, 71, 126, 0.12);
        outline: none;
    }

.hero-trust[b-1y0e3emheb] {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.hero-trust-item[b-1y0e3emheb] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-secondary);
}

    .hero-trust-item i[b-1y0e3emheb] {
        color: #2ca06a;
    }

.hero-card-hint[b-1y0e3emheb] {
    margin-top: 0.5rem;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-primary);
}

.hero-badge[b-1y0e3emheb] {
    color: var(--color-primary);
}

.hero-cta[b-1y0e3emheb] {
    background: linear-gradient(135deg, var(--color-primary), #c9356b);
    color: #fff;
    border: none;
    box-shadow: 0 6px 14px rgba(255, 71, 126, 0.18);
    transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

    .hero-cta:hover[b-1y0e3emheb],
    .hero-cta:focus[b-1y0e3emheb] {
        color: #fff;
        opacity: 0.92;
        transform: translateY(-1px);
    }

.hero-cta-secondary[b-1y0e3emheb] {
    background: #fff;
    color: var(--color-primary);
    border: 1.5px solid rgba(255, 71, 126, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .hero-cta-secondary:hover[b-1y0e3emheb],
    .hero-cta-secondary:focus[b-1y0e3emheb] {
        color: var(--color-primary);
        box-shadow: 0 8px 18px rgba(61, 12, 89, 0.08);
        transform: translateY(-1px);
    }

.hero-cta:focus-visible[b-1y0e3emheb],
.hero-cta-secondary:focus-visible[b-1y0e3emheb],
.hero-cta-sm:focus-visible[b-1y0e3emheb],
.hero-name-input:focus-visible[b-1y0e3emheb],
.card-3d-container:focus-visible[b-1y0e3emheb] {
    outline: 3px solid rgba(255, 71, 126, 0.35);
    outline-offset: 4px;
}

.hero-cta-sm[b-1y0e3emheb] {
    background: linear-gradient(135deg, var(--color-primary), #c9356b);
    color: #fff;
    border: none;
    font-weight: 700;
}

    .hero-cta-sm:hover[b-1y0e3emheb],
    .hero-cta-sm:focus[b-1y0e3emheb] {
        color: #fff;
        opacity: 0.92;
    }

.floating-card-wrapper[b-1y0e3emheb] {
    perspective: 1000px;
    height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    position: relative;
}

/* Pull the product (card) closer to the text and make it the visual hero on desktop */
@media (min-width: 992px) {
    .floating-card-wrapper[b-1y0e3emheb] {
        margin-left: -110px;
    }
}

.card-3d-container[b-1y0e3emheb] {
    width: 350px;
    height: 490px;
    position: relative;
    transform-style: preserve-3d;
    animation: floatOnly-b-1y0e3emheb 6s ease-in-out infinite;
    cursor: pointer;
}

.card-inner[b-1y0e3emheb] {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-style: preserve-3d;
}

    .card-inner.is-flipped[b-1y0e3emheb] {
        transform: rotateY(180deg);
    }

.card-face[b-1y0e3emheb] {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: white;
    box-shadow: -20px 30px 60px rgba(61, 12, 89, 0.15);
    border: 1px solid rgba(0,0,0,0.05);
}

.card-back[b-1y0e3emheb] {
    transform: rotateY(180deg);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 2rem;
    background-image: radial-gradient(#FF477E 1px, transparent 1px);
    background-size: 20px 20px;
}

.handwritten-msg[b-1y0e3emheb] {
    font-family: 'Courier New', monospace;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #555;
    background: white;
    padding: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transform: rotate(-2deg);
}

.mock-top[b-1y0e3emheb] {
    height: 65%;
    background: #FFD166;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.mock-btm[b-1y0e3emheb] {
    height: 35%;
    background: white;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@keyframes floatOnly-b-1y0e3emheb {
    0% {
        transform: translateY(0) rotate(2deg);
    }

    50% {
        transform: translateY(-25px) rotate(-2deg);
    }

    100% {
        transform: translateY(0) rotate(2deg);
    }
}

@media (max-width: 768px) {
    .hero-heading[b-1y0e3emheb] {
        font-size: 2.5rem;
        text-align: center;
    }

    .hero-lead[b-1y0e3emheb] {
        text-align: center;
    }

    .hero-actions[b-1y0e3emheb] {
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero-trust[b-1y0e3emheb] {
        justify-content: center;
    }

    .hero-name-field[b-1y0e3emheb] {
        margin: 0 auto 2rem auto;
    }

    .hero-name-label[b-1y0e3emheb] {
        text-align: center;
    }

    .floating-card-wrapper[b-1y0e3emheb] {
        height: 390px;
        margin-top: 10px;
    }

    .card-3d-container[b-1y0e3emheb] {
        width: 250px;
        height: 350px;
    }

    .card-back[b-1y0e3emheb] {
        padding: 1rem;
    }

    .handwritten-msg[b-1y0e3emheb] {
        font-size: 0.85rem;
        padding: 12px;
        line-height: 1.4;
    }
}

@keyframes heartPulse-b-1y0e3emheb {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }
}

#heartIco[b-1y0e3emheb] {
    animation: heartPulse-b-1y0e3emheb 4s ease-in-out infinite;
}

#starIco[b-1y0e3emheb] {
    animation: floatOnly-b-1y0e3emheb 5s infinite;
}

@media (prefers-reduced-motion: reduce) {
    .hero-blob[b-1y0e3emheb],
    .card-3d-container[b-1y0e3emheb],
    #heartIco[b-1y0e3emheb],
    #starIco[b-1y0e3emheb] {
        animation: none;
    }

    .card-inner[b-1y0e3emheb],
    .hero-cta[b-1y0e3emheb],
    .hero-cta-secondary[b-1y0e3emheb],
    .hero-cta-sm[b-1y0e3emheb],
    .hero-name-input[b-1y0e3emheb] {
        transition: none;
    }

    .hero-cta:hover[b-1y0e3emheb],
    .hero-cta:focus[b-1y0e3emheb],
    .hero-cta-secondary:hover[b-1y0e3emheb],
    .hero-cta-secondary:focus[b-1y0e3emheb] {
        transform: none;
    }
}
/* /Components/HomePage/ProductCard.razor.rz.scp.css */
.card-product[b-9b8o490c3b] {
    border: none;
    background: transparent;
    position: relative;
    cursor: pointer;
    margin-bottom: 10px;
    outline: none;
}

.cp-image-wrap[b-9b8o490c3b] {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.cp-overlay[b-9b8o490c3b] {
    position: absolute;
    inset: 0;
    background: rgba(61, 12, 89, 0.8);
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 20;
    padding: 20px;
}

.cp-btn[b-9b8o490c3b] {
    pointer-events: none;
    text-decoration: none;
    font-weight: 700;
    border-radius: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.cp-btn-preview[b-9b8o490c3b] {
    color: rgba(255, 255, 255, 0.95);
    border: 1.5px solid rgba(255, 255, 255, 0.7);
    padding: 9px 22px;
    font-size: 0.9rem;
}

.cp-btn-edit[b-9b8o490c3b] {
    background: white;
    color: var(--color-primary);
    font-weight: 800;
    padding: 11px 26px;
    font-size: 0.95rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

/* Shared reveal styles, applied by both the hover (pointer) and focus-within (touch/keyboard)
   triggers below. */
.card-product:focus-within .cp-overlay[b-9b8o490c3b] {
    opacity: 1;
}

.card-product:focus-within .cp-btn[b-9b8o490c3b] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.card-product:focus-within .price-tag-visible[b-9b8o490c3b] {
    opacity: 0;
}

/* Hover reveal only on real pointer devices — avoids the emulated :hover sticking on touch.
   Touch taps and keyboard navigation reveal via :focus-within above. */
@media (hover: hover) and (pointer: fine) {
    .card-product:hover .cp-image-wrap[b-9b8o490c3b] {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
    }

    .card-product:hover .cp-overlay[b-9b8o490c3b] {
        opacity: 1;
    }

    .card-product:hover .cp-btn[b-9b8o490c3b] {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .card-product:hover .price-tag-visible[b-9b8o490c3b] {
        opacity: 0;
    }
}

.cp-btn:focus-visible[b-9b8o490c3b] {
    outline: 3px solid rgba(255, 255, 255, 0.7);
    outline-offset: 3px;
}

.card-product:focus-visible[b-9b8o490c3b] {
    outline: 3px solid var(--color-primary);
    outline-offset: 3px;
    border-radius: 18px;
}

.photo-frame[b-9b8o490c3b] {
    width: 80px;
    height: 80px;
    border: 3px dashed #ddd;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: white;
}

.price-tag-visible[b-9b8o490c3b] {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(6px);
    padding: 5px 12px;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(61, 12, 89, 0.12);
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    line-height: 1;
    z-index: 10;
    border: 1px solid rgba(255, 255, 255, 0.7);
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.price-tag-visible small[b-9b8o490c3b] {
    font-family: 'Quicksand', sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: lowercase;
    color: var(--color-secondary);
    letter-spacing: 0.3px;
    opacity: 0.75;
}

.price-tag-visible span[b-9b8o490c3b] {
    font-family: 'Quicksand', sans-serif;
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--color-primary);
}

@media (prefers-reduced-motion: reduce) {
    .cp-image-wrap[b-9b8o490c3b],
    .cp-overlay[b-9b8o490c3b],
    .cp-btn[b-9b8o490c3b] {
        transition: none;
    }

    .cp-btn[b-9b8o490c3b] {
        transform: none;
    }

    .card-product:hover .cp-image-wrap[b-9b8o490c3b] {
        transform: none;
    }
}

@media (max-width: 576px) {
    .cp-overlay[b-9b8o490c3b] {
        padding: 12px;
        gap: 12px;
    }

    .cp-btn-edit[b-9b8o490c3b] {
        padding: 9px 20px;
        font-size: 0.88rem;
    }

    .cp-btn-preview[b-9b8o490c3b] {
        padding: 8px 18px;
        font-size: 0.85rem;
    }
}
/* /Components/HomePage/ProductGrid.razor.rz.scp.css */
.product-grid[b-854db9t45k] {
    margin-top: 3rem;
    scroll-margin-top: 190px;
}

.product-grid-link:focus-visible[b-854db9t45k] {
    outline: 3px solid rgba(255, 71, 126, 0.35);
    outline-offset: 4px;
    border-radius: 10px;
}

.discount-banner[b-854db9t45k] {
    background: linear-gradient(90deg, #FF9A9E 0%, #FECFEF 100%);
    color: #3D0C59 !important;
}

.discount-banner-badge[b-854db9t45k] {
    color: var(--color-secondary);
    font-weight: 700;
}
/* /Components/HomePage/SeasonalPromoBanner.razor.rz.scp.css */
.seasonal-promo[b-0guhtapgbz] {
    padding: 2.5rem 0 0;
}

.seasonal-promo-inner[b-0guhtapgbz] {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 71, 126, 0.08), rgba(255, 143, 171, 0.18));
    border: 1px solid rgba(61, 12, 89, 0.08);
    box-shadow: var(--card-shadow);
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.seasonal-promo-copy[b-0guhtapgbz] {
    position: relative;
    z-index: 2;
    max-width: 640px;
}

.seasonal-promo-badge[b-0guhtapgbz] {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: var(--color-secondary);
    border-radius: 50px;
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 0.75rem;
    box-shadow: 0 6px 14px rgba(61, 12, 89, 0.08);
}

.seasonal-promo h2[b-0guhtapgbz] {
    color: var(--color-secondary);
    font-size: 1.55rem;
    font-weight: 800;
    margin: 0 0 0.5rem;
}

.seasonal-promo p[b-0guhtapgbz] {
    color: #555;
    font-weight: 600;
    margin: 0;
    line-height: 1.5;
}

.seasonal-promo-actions[b-0guhtapgbz] {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-shrink: 0;
}

.seasonal-promo-primary[b-0guhtapgbz],
.seasonal-promo-secondary[b-0guhtapgbz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    font-weight: 800;
    text-decoration: none;
    padding: 0.75rem 1.25rem;
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.seasonal-promo-primary[b-0guhtapgbz] {
    background: linear-gradient(135deg, var(--color-primary), #c9356b);
    color: #fff;
    box-shadow: 0 10px 20px rgba(255, 71, 126, 0.18);
}

.seasonal-promo-secondary[b-0guhtapgbz] {
    background: #fff;
    color: var(--color-primary);
    border: 1.5px solid rgba(255, 71, 126, 0.25);
}

.seasonal-promo-primary:hover[b-0guhtapgbz],
.seasonal-promo-primary:focus[b-0guhtapgbz] {
    color: #fff;
    opacity: 0.92;
    transform: translateY(-1px);
}

.seasonal-promo-secondary:hover[b-0guhtapgbz],
.seasonal-promo-secondary:focus[b-0guhtapgbz] {
    color: var(--color-primary);
    box-shadow: 0 8px 18px rgba(61, 12, 89, 0.08);
    transform: translateY(-1px);
}

.seasonal-promo-primary:focus-visible[b-0guhtapgbz],
.seasonal-promo-secondary:focus-visible[b-0guhtapgbz] {
    outline: 3px solid rgba(255, 71, 126, 0.35);
    outline-offset: 3px;
}

.seasonal-promo-icon[b-0guhtapgbz] {
    position: absolute;
    right: 1.5rem;
    bottom: -1.4rem;
    color: rgba(61, 12, 89, 0.08);
    font-size: 7rem;
    pointer-events: none;
}

@media (max-width: 768px) {
    .seasonal-promo[b-0guhtapgbz] {
        padding-top: 1.75rem;
    }

    .seasonal-promo-inner[b-0guhtapgbz] {
        align-items: stretch;
        flex-direction: column;
        padding: 1.5rem;
    }

    .seasonal-promo-actions[b-0guhtapgbz] {
        justify-content: flex-start;
    }

    .seasonal-promo-primary[b-0guhtapgbz],
    .seasonal-promo-secondary[b-0guhtapgbz] {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .seasonal-promo-primary[b-0guhtapgbz],
    .seasonal-promo-secondary[b-0guhtapgbz] {
        transition: none;
    }

    .seasonal-promo-primary:hover[b-0guhtapgbz],
    .seasonal-promo-primary:focus[b-0guhtapgbz],
    .seasonal-promo-secondary:hover[b-0guhtapgbz],
    .seasonal-promo-secondary:focus[b-0guhtapgbz] {
        transform: none;
    }
}
/* /Components/HomePage/StepsSection.razor.rz.scp.css */
.steps-section[b-dtyc81pvuy] {
    background: white;
    padding: 5rem 0;
    margin: 4rem 0;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.steps-connector-line[b-dtyc81pvuy] {
    display: none;
    position: absolute;
    top: 35%;
    left: 15%;
    width: 70%;
    height: 2px;
    border-top: 3px dashed #e0e0e0;
    z-index: 1;
}

@media (min-width: 768px) {
    .steps-connector-line[b-dtyc81pvuy] {
        display: block;
    }
}

.step-card[b-dtyc81pvuy] {
    background: white;
    position: relative;
    z-index: 2;
    padding: 20px;
    transition: transform 0.3s;
}

    .step-card:hover[b-dtyc81pvuy] {
        transform: translateY(-5px);
    }

.step-icon[b-dtyc81pvuy] {
    width: 90px;
    height: 90px;
    background: var(--color-bg);
    border: 2px solid white;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    font-size: 2.2rem;
    margin: 0 auto 1.5rem auto;
    position: relative;
}

@media (prefers-reduced-motion: reduce) {
    .step-card[b-dtyc81pvuy] {
        transition: none;
    }

    .step-card:hover[b-dtyc81pvuy] {
        transform: none;
    }
}

.step-num[b-dtyc81pvuy] {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: var(--color-secondary);
    color: white;
    border-radius: 50%;
    font-size: 1rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid white;
}
/* /Components/Layout/Footer.razor.rz.scp.css */
.site-footer[b-a2bkcgb3z4] {
    background-color: var(--color-secondary);
    color: white;
    padding: 4rem 0 2rem 0;
    border-radius: 40px 40px 0 0;
    margin-top: auto;
}

.footer-link[b-a2bkcgb3z4] {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

    .footer-link:hover[b-a2bkcgb3z4] {
        color: var(--color-accent-1);
        text-decoration: underline;
    }

.social-link[b-a2bkcgb3z4] {
    color: white;
    transition: transform 0.2s;
}

    .social-link:hover[b-a2bkcgb3z4] {
        color: var(--color-accent-1);
        transform: translateY(-3px);
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar[b-zg9jobtw1i] {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    padding: 0.8rem 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
    border-bottom: 2px solid rgba(255, 71, 126, 0.1);
    z-index: 1000;
    overflow: visible;
}

.navbar-brand[b-zg9jobtw1i] {
    font-weight: 800;
    font-size: 1.6rem;
    color: var(--color-secondary);
    letter-spacing: -0.5px;
    white-space: nowrap;
}

    .navbar-brand i[b-zg9jobtw1i] {
        color: var(--color-primary);
    }

.search-wrapper[b-zg9jobtw1i] {
    position: relative;
    width: 100%;
    max-width: 550px;
}

.search-input[b-zg9jobtw1i] {
    border-radius: 50px;
    border: 2px solid #eee;
    background: #f9f9f9;
    padding: 12px 50px 12px 25px;
    font-weight: 600;
    width: 100%;
    transition: all 0.3s;
}

    .search-input:focus[b-zg9jobtw1i] {
        outline: none;
        border-color: var(--color-primary);
        background: white;
        box-shadow: 0 0 0 4px rgba(255, 71, 126, 0.1);
    }

.search-btn[b-zg9jobtw1i] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--color-primary);
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: transform 0.2s;
}

    .search-btn:hover[b-zg9jobtw1i] {
        transform: translateY(-50%) scale(1.1);
    }

.nav-icon[b-zg9jobtw1i] {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--color-secondary);
    background: white;
    border: 1px solid #eee;
    transition: all 0.2s;
    position: relative;
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
}

    .nav-icon:hover[b-zg9jobtw1i] {
        background: var(--color-accent-1);
        border-color: var(--color-accent-1);
        color: #000;
    }

#mobileSearchContainer[b-zg9jobtw1i] {
    border-top: 1px solid #eee;
    background: white;
    padding: 15px 0;
    transition: height 0.35s ease-in-out;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-ru4ga3uctv],
.components-reconnect-repeated-attempt-visible[b-ru4ga3uctv],
.components-reconnect-failed-visible[b-ru4ga3uctv],
.components-pause-visible[b-ru4ga3uctv],
.components-resume-failed-visible[b-ru4ga3uctv],
.components-rejoining-animation[b-ru4ga3uctv] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-retrying[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-failed[b-ru4ga3uctv],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-ru4ga3uctv] {
    display: block;
}


#components-reconnect-modal[b-ru4ga3uctv] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-ru4ga3uctv 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-ru4ga3uctv 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-ru4ga3uctv 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-ru4ga3uctv]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-ru4ga3uctv 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-ru4ga3uctv {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-ru4ga3uctv {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-ru4ga3uctv {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-ru4ga3uctv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-ru4ga3uctv] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-ru4ga3uctv] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-ru4ga3uctv] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-ru4ga3uctv] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-ru4ga3uctv] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-ru4ga3uctv] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-ru4ga3uctv 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-ru4ga3uctv] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-ru4ga3uctv {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/PreviewCard.razor.rz.scp.css */
.preview-root[b-7bat8rve5k] {
    min-height: calc(100vh - 75px);
    background: linear-gradient(180deg, #fff5f8 0%, #fff 60%);
    padding-bottom: 48px;
}

.preview-topbar[b-7bat8rve5k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    padding-bottom: 8px;
}

.preview-back[b-7bat8rve5k] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-secondary);
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
}

.preview-back:hover[b-7bat8rve5k] {
    color: var(--color-primary);
}

.preview-eyebrow[b-7bat8rve5k] {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #b9879c;
}

.preview-stage[b-7bat8rve5k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    padding: 24px 16px 8px;
}

.preview-card-frame[b-7bat8rve5k] {
    container-type: inline-size;
    width: min(440px, 88vw);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(61, 12, 89, 0.18);
}

.preview-card-frame.is-landscape[b-7bat8rve5k] {
    width: min(640px, 92vw);
}

/* Navigation */
.preview-nav[b-7bat8rve5k] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.preview-nav-arrow[b-7bat8rve5k] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid #eccede;
    background: #fff;
    color: var(--color-primary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.18s ease, border-color 0.18s ease, opacity 0.18s ease;
}

.preview-nav-arrow:hover:not(:disabled)[b-7bat8rve5k] {
    background: #fff0f4;
    border-color: var(--color-primary);
}

.preview-nav-arrow:disabled[b-7bat8rve5k] {
    opacity: 0.4;
    cursor: default;
}

.preview-dots[b-7bat8rve5k] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.preview-dot[b-7bat8rve5k] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: none;
    background: #e6cdd9;
    cursor: pointer;
    padding: 0;
    transition: background 0.18s ease, transform 0.18s ease;
}

.preview-dot:hover[b-7bat8rve5k] {
    background: #f1a8c4;
}

.preview-dot.active[b-7bat8rve5k] {
    background: var(--color-primary);
    transform: scale(1.3);
}

.preview-nav-arrow:focus-visible[b-7bat8rve5k],
.preview-dot:focus-visible[b-7bat8rve5k],
.preview-btn-primary:focus-visible[b-7bat8rve5k] {
    outline: 3px solid rgba(255, 71, 126, 0.35);
    outline-offset: 3px;
}

/* Actions */
.preview-actions[b-7bat8rve5k] {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.preview-btn-primary[b-7bat8rve5k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--color-primary), #c9356b);
    color: #fff;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    padding: 0.8rem 2rem;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.preview-btn-primary:hover[b-7bat8rve5k] {
    opacity: 0.92;
    transform: translateY(-1px);
    color: #fff;
}

/* Not found */
.preview-notfound[b-7bat8rve5k] {
    padding: 4rem 1rem;
    display: flex;
    justify-content: center;
}

.preview-notfound-card[b-7bat8rve5k] {
    background: #fff;
    border-radius: 24px;
    padding: 3rem 2.5rem;
    box-shadow: var(--card-shadow);
    text-align: center;
    max-width: 480px;
    width: 100%;
}

.preview-notfound-icon[b-7bat8rve5k] {
    font-size: 3rem;
    color: var(--color-primary);
    margin-bottom: 1rem;
    display: block;
}

.preview-notfound-card h2[b-7bat8rve5k] {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 0.5rem;
}

.preview-notfound-card p[b-7bat8rve5k] {
    color: #888;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

@media (prefers-reduced-motion: reduce) {
    .preview-dot[b-7bat8rve5k],
    .preview-nav-arrow[b-7bat8rve5k],
    .preview-btn-primary[b-7bat8rve5k] {
        transition: none;
    }
}
/* /Components/RecentCards/RecentCardsWidget.razor.rz.scp.css */
.nav-icon[b-nc0asifyx4] {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--color-secondary);
    background: white;
    border: 1px solid #eee;
    transition: all 0.2s;
    position: relative;
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
}

    .nav-icon:hover[b-nc0asifyx4] {
        background: var(--color-accent-1);
        border-color: var(--color-accent-1);
        color: #000;
    }
