@import 'JLGoernerCreations.Client.0j5q5kl9dv.bundle.scp.css';

/* /Components/Layout/AdminLayout.razor.rz.scp.css */
/* Shell styles are global — see wwwroot/app.css */
/* /Components/Layout/AdminSidebar.razor.rz.scp.css */
/* Sidebar styles are global — see wwwroot/app.css */
/* /Components/Layout/Footer.razor.rz.scp.css */
.site-footer[b-brb09196lu] {
    margin-top: 3rem;
    background: linear-gradient(90deg, rgb(5,39,103) 0%, #3a0647 70%);
    color: rgba(255,255,255,.9);
}

.footer-inner[b-brb09196lu] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 1.25rem 1.5rem;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 1.5rem;
}

.footer-brand .footer-logo[b-brb09196lu] {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
}

.footer-brand p[b-brb09196lu] {
    margin: .5rem 0 0;
    max-width: 32ch;
    color: rgba(255,255,255,.75);
    font-size: .92rem;
}

.footer-links[b-brb09196lu], .footer-social[b-brb09196lu] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.footer-links a[b-brb09196lu], .footer-social a[b-brb09196lu] {
    color: rgba(255,255,255,.85);
    text-decoration: none;
    font-size: .95rem;
    width: fit-content;
}

.footer-links a:hover[b-brb09196lu], .footer-social a:hover[b-brb09196lu] {
    color: #fff;
    text-decoration: underline;
}

.footer-bottom[b-brb09196lu] {
    border-top: 1px solid rgba(255,255,255,.15);
    text-align: center;
    padding: 1rem;
    font-size: .82rem;
    color: rgba(255,255,255,.65);
}

@media (max-width: 700px) {
    .footer-inner[b-brb09196lu] {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 1.75rem;
    }

    .footer-brand p[b-brb09196lu] {
        max-width: none;
        margin-inline: auto;
    }

    .footer-links[b-brb09196lu], .footer-social[b-brb09196lu] {
        align-items: center;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-dl3zs1t5dq] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main[b-dl3zs1t5dq] {
    flex: 1 0 auto;
}

.site-header[b-dl3zs1t5dq] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: linear-gradient(90deg, rgb(5,39,103) 0%, #3a0647 70%);
    box-shadow: 0 2px 4px rgba(0,0,0,.2);
}

.site-main[b-dl3zs1t5dq] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem 1.25rem 3rem;
}

.content[b-dl3zs1t5dq] {
    min-height: 60vh;
}

@media (max-width: 640px) {
    .site-main[b-dl3zs1t5dq] { padding: 0.75rem 0.85rem 2.5rem; }
}

#blazor-error-ui[b-dl3zs1t5dq] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-dl3zs1t5dq] { cursor: pointer; position: absolute; right: .75rem; top: .5rem; }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-kroes3hnuv] {
    display: none;
}

.top-row[b-kroes3hnuv] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-kroes3hnuv] {
    font-size: 1.1rem;
}

.bi[b-kroes3hnuv] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-kroes3hnuv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-kroes3hnuv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-kroes3hnuv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-kroes3hnuv] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-kroes3hnuv] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-kroes3hnuv] {
        padding-bottom: 1rem;
    }

    .nav-item[b-kroes3hnuv]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-kroes3hnuv]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-kroes3hnuv]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.main-nav[b-kroes3hnuv] {
    display: block;
}

.main-nav .nav-inner[b-kroes3hnuv] {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* ensure left alignment */
    gap: 1.25rem;
    padding: .6rem 1rem;
}

/* Put the navigation buttons at the far left, before the brand */
.links[b-kroes3hnuv] { order: 1; }
.brand[b-kroes3hnuv] { order: 0; }

/* Cart link in top right corner */
.nav-right[b-kroes3hnuv] {
    margin-left: auto;
    order: 2;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.nav-btn[b-kroes3hnuv] {
    color: #fff !important;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: .55rem .75rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: .95rem;
    transition: background-color 0.2s ease;
    background: none;
    border: none;
    cursor: pointer;
}

.nav-btn:hover[b-kroes3hnuv],
.nav-btn:focus-visible[b-kroes3hnuv] {
    background: rgba(255, 255, 255, .12);
    text-decoration: none;
}

.nav-btn svg[b-kroes3hnuv] {
    flex-shrink: 0;
}

.login-btn[b-kroes3hnuv] {
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.logout-btn[b-kroes3hnuv] {
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.cart-link[b-kroes3hnuv] {
    color: #fff !important;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: .55rem .75rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: .95rem;
    transition: background-color 0.2s ease;
}

.cart-link:hover[b-kroes3hnuv],
.cart-link:focus-visible[b-kroes3hnuv] {
    background: rgba(255, 255, 255, .12);
    text-decoration: none;
}

.cart-link svg[b-kroes3hnuv] {
    flex-shrink: 0;
}

.brand[b-kroes3hnuv] {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    letter-spacing: .3px;
    white-space: nowrap;
}

.nav-toggle[b-kroes3hnuv] {
    margin-left: auto;
    background: none;
    border: 1px solid rgba(255, 255, 255, .4);
    color: #fff;
    font-size: 1.2rem;
    padding: .35rem .65rem;
    border-radius: 4px;
    cursor: pointer;
}

.links[b-kroes3hnuv] {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* left align links */
    gap: 1.25rem;
    margin: 0;
    padding: 0;
}

/* Enforce high-contrast white links, including those rendered by <NavLink> */
.main-nav .links li[b-kroes3hnuv]  a,
.main-nav .links li[b-kroes3hnuv]  a:visited {
    color: #fff !important;
    text-decoration: none;
    padding: .55rem .75rem;
    border-radius: 4px;
    display: inline-block;
    font-size: .95rem;
    font-weight: 700; /* increase for readability */
}

.main-nav .links li[b-kroes3hnuv]  a.active {
    background: rgba(255, 255, 255, .22);
    color: #fff !important;
}

.main-nav .links li[b-kroes3hnuv]  a:hover,
.main-nav .links li[b-kroes3hnuv]  a:focus-visible {
    background: rgba(255, 255, 255, .12);
    color: #fff !important;
    text-decoration: underline;
}

@media (max-width: 750px) {
  .main-nav .nav-inner[b-kroes3hnuv] {
    flex-wrap: wrap;
  }
  .links[b-kroes3hnuv] {
    position: static;
    display: flex;
    width: auto; /* don't stretch full width */
    justify-content: flex-start; /* keep left on mobile */
    flex-wrap: wrap;
    gap: .5rem .75rem;
    padding: .25rem 0 0;
    background: none;
  }
  .links li[b-kroes3hnuv]  a { padding: .65rem .85rem; }
  
  /* Keep nav-right in top right on mobile */
  .nav-right[b-kroes3hnuv] {
    position: absolute;
    right: 1rem;
    top: 0.6rem;
  }
  
  .nav-btn-text[b-kroes3hnuv] {
    display: none; /* Hide text on small screens, keep icon only */
  }
}
/* /Components/Pages/Admin.razor.rz.scp.css */
/* =====================================================
   Admin Dashboard  /admin
   Matches site colour palette (blue-purple gradient)
   ===================================================== */

.dash-page[b-9ax6kk2iow] {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 1.25rem 3rem;
}

.dash-loading[b-9ax6kk2iow] { color: #666; }

/* Top bar */
.dash-topbar[b-9ax6kk2iow] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #eee;
}

.dash-topbar h1[b-9ax6kk2iow] {
    margin: 0;
    font-size: 1.8rem;
    color: #1a1a2e;
}

.dash-date[b-9ax6kk2iow] {
    color: #888;
    font-size: 0.9rem;
}

/* Stat cards */
.dash-stats[b-9ax6kk2iow] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1rem;
    margin-bottom: 2.5rem;
}

.stat-card[b-9ax6kk2iow] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border-left: 4px solid #3a0647;
}

.stat-icon[b-9ax6kk2iow] {
    font-size: 1.5rem;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(58, 6, 71, 0.08);
}

.stat-value[b-9ax6kk2iow] {
    font-size: 1.7rem;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1;
}

.stat-label[b-9ax6kk2iow] {
    font-size: 0.8rem;
    color: #666;
    margin-top: 0.2rem;
    font-weight: 500;
}

/* Section title */
.dash-section-title[b-9ax6kk2iow] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #999;
    font-weight: 700;
    margin: 0 0 0.75rem;
}

/* Nav tiles */
.dash-tiles[b-9ax6kk2iow] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.dash-tile[b-9ax6kk2iow] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 1.1rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s, transform 0.15s;
    border: 1px solid #eee;
}

.dash-tile:hover[b-9ax6kk2iow] {
    box-shadow: 0 4px 18px rgba(58,6,71,0.15);
    transform: translateY(-1px);
    text-decoration: none;
}

.tile-icon[b-9ax6kk2iow] {
    font-size: 1.5rem;
    width: 2.4rem;
    text-align: center;
    flex-shrink: 0;
}

.tile-body[b-9ax6kk2iow] { flex: 1; }

.tile-title[b-9ax6kk2iow] {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
}

.tile-desc[b-9ax6kk2iow] {
    font-size: 0.85rem;
    color: #666;
    margin-top: 0.15rem;
}

.tile-arrow[b-9ax6kk2iow] {
    color: #3a0647;
    font-size: 1.2rem;
    flex-shrink: 0;
}

/* Access denied */
.unauthorized[b-9ax6kk2iow] {
    text-align: center;
    padding: 3rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-width: 500px;
    margin: 2rem auto;
}
.unauthorized h2[b-9ax6kk2iow] { color: #dc3545; margin-top: 0; }
.unauthorized p[b-9ax6kk2iow]  { color: #666; }

.btn-login-link[b-9ax6kk2iow] {
    display: inline-block;
    padding: 0.65rem 1.5rem;
    background: linear-gradient(90deg, rgb(5,39,103) 0%, #3a0647 100%);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.btn-login-link:hover[b-9ax6kk2iow] { opacity: 0.9; color: #fff; text-decoration: none; }
/* /Components/Pages/AdminOrders.razor.rz.scp.css */
/* =====================================================
   Admin – Custom Orders page
   ===================================================== */

.ao-container[b-ypvnmup7o6] {
    max-width: 1300px;
    margin: 0 auto;
    padding: 2rem 1.25rem 3rem;
}

.ao-header[b-ypvnmup7o6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #eee;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ao-header h1[b-ypvnmup7o6] {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
    color: #1a1a2e;
}

/* Filters bar */
.ao-filters[b-ypvnmup7o6] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 1rem;
}

.ao-filters label[b-ypvnmup7o6] {
    display: flex;
    flex-direction: column;
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    gap: 0.3rem;
}

/* Table */
.ao-table-wrap[b-ypvnmup7o6] {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.ao-table[b-ypvnmup7o6] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 0.875rem;
    min-width: 900px;
}

.ao-table th[b-ypvnmup7o6],
.ao-table td[b-ypvnmup7o6] {
    padding: 0.65rem 0.85rem;
    text-align: left;
    border-bottom: 1px solid #eee;
    white-space: nowrap;
}

.ao-table th[b-ypvnmup7o6] {
    background: #f8f9fa;
    font-weight: 700;
    color: #333;
    position: sticky;
    top: 0;
    z-index: 1;
}

.ao-table tbody tr:hover[b-ypvnmup7o6],
.ao-table tbody tr.row-selected[b-ypvnmup7o6] {
    background: #eef4ff;
}

.ao-table tbody tr.row-selected td[b-ypvnmup7o6] {
    border-left: 3px solid #007bff;
}

/* Buttons inside table */
.btn-link[b-ypvnmup7o6] {
    background: none;
    border: none;
    color: #007bff;
    cursor: pointer;
    padding: 0;
    font-family: monospace;
    font-size: 0.85rem;
    text-decoration: underline;
}
.btn-link:hover[b-ypvnmup7o6] { color: #0056b3; }

.btn-edit[b-ypvnmup7o6] {
    padding: 0.25rem 0.75rem;
    background: #007bff;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
}
.btn-edit:hover[b-ypvnmup7o6] { background: #0056b3; }

/* =====================================================
   Slide-in detail panel
   ===================================================== */

.ao-panel-backdrop[b-ypvnmup7o6] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 900;
    animation: fadeIn-b-ypvnmup7o6 0.15s ease;
}

.ao-panel[b-ypvnmup7o6] {
    position: fixed;
    top: 0;
    right: 0;
    width: 480px;
    max-width: 95vw;
    height: 100%;
    background: #fff;
    box-shadow: -4px 0 24px rgba(0,0,0,0.15);
    z-index: 901;
    display: flex;
    flex-direction: column;
    animation: slideIn-b-ypvnmup7o6 0.2s ease;
    overflow: hidden;
}

@keyframes slideIn-b-ypvnmup7o6 {
    from { transform: translateX(100%); }
    to   { transform: translateX(0); }
}

@keyframes fadeIn-b-ypvnmup7o6 {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.ao-panel-header[b-ypvnmup7o6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #eee;
    flex-shrink: 0;
    background: #f8f9fa;
}

.ao-panel-header h2[b-ypvnmup7o6] {
    margin: 0;
    font-size: 1.1rem;
    color: #333;
    font-family: monospace;
}

.btn-close-panel[b-ypvnmup7o6] {
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    color: #666;
    line-height: 1;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}
.btn-close-panel:hover[b-ypvnmup7o6] { background: #eee; color: #333; }

.ao-panel-body[b-ypvnmup7o6] {
    overflow-y: auto;
    flex: 1;
    padding: 1rem 1.25rem;
}

.panel-section[b-ypvnmup7o6] {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #f0f0f0;
}
.panel-section:last-of-type[b-ypvnmup7o6] { border-bottom: none; }

.panel-section h3[b-ypvnmup7o6] {
    margin: 0 0 0.75rem;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #888;
    font-weight: 700;
}

/* Two-column label / value grid */
.detail-grid[b-ypvnmup7o6] {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 0.4rem 0.75rem;
    align-items: center;
    font-size: 0.9rem;
}

.detail-label[b-ypvnmup7o6] {
    font-weight: 600;
    color: #555;
    white-space: nowrap;
}

.notes-text[b-ypvnmup7o6] {
    white-space: pre-wrap;
    word-break: break-word;
}

.monospace[b-ypvnmup7o6] {
    font-family: monospace;
    font-size: 0.8rem;
    color: #555;
}

address.address-block[b-ypvnmup7o6] {
    font-style: normal;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #444;
}

/* Tracking row with auto-badge */
.tracking-row[b-ypvnmup7o6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.auto-badge[b-ypvnmup7o6] {
    display: inline-block;
    background: #d6d8f8;
    color: #383d8b;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
    white-space: nowrap;
}

/* Panel actions */
.ao-panel-actions[b-ypvnmup7o6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid #eee;
    background: #f8f9fa;
    flex-shrink: 0;
}

.panel-action-buttons[b-ypvnmup7o6] {
    display: flex;
    gap: 0.75rem;
}

.panel-success-message[b-ypvnmup7o6] {
    background: #d4edda;
    color: #155724;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    animation: fadeIn-b-ypvnmup7o6 0.2s ease;
}

.panel-error-message[b-ypvnmup7o6] {
    background: #f8d7da;
    color: #721c24;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
}

.panel-action-buttons .btn-submit[b-ypvnmup7o6] {
    flex: 1;
    padding: 0.65rem;
    background: linear-gradient(90deg, rgb(5,39,103) 0%, #3a0647 100%);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.95rem;
    margin-top: 0;
    width: auto;
}
.panel-action-buttons .btn-submit:hover:not(:disabled)[b-ypvnmup7o6] { opacity: 0.9; }
.panel-action-buttons .btn-submit:disabled[b-ypvnmup7o6] { opacity: 0.5; cursor: not-allowed; }

.panel-action-buttons .btn-remove[b-ypvnmup7o6] {
    padding: 0.65rem 1.25rem;
    background: #6c757d;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.95rem;
}
.panel-action-buttons .btn-remove:hover[b-ypvnmup7o6] { background: #5a6268; }

/* Shared form helpers */
.form-control[b-ypvnmup7o6] {
    width: 100%;
    padding: 0.5rem 0.65rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 0.9rem;
    box-sizing: border-box;
}
.form-control:focus[b-ypvnmup7o6] {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0,123,255,0.2);
}
.form-control-sm[b-ypvnmup7o6] {
    padding: 0.35rem 0.55rem;
    font-size: 0.85rem;
}

.form-text[b-ypvnmup7o6] {
    font-size: 0.8rem;
    color: #888;
    margin-top: 0.35rem;
    display: block;
}

/* Messages */
.success-message[b-ypvnmup7o6] {
    background: #d4edda;
    color: #155724;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
}

.error-message[b-ypvnmup7o6] {
    background: #f8d7da;
    color: #721c24;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
}

/* Access-denied block */
.unauthorized[b-ypvnmup7o6] {
    text-align: center;
    padding: 3rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-width: 600px;
    margin: 2rem auto;
}
.unauthorized h2[b-ypvnmup7o6] { color: #dc3545; }
.btn-login-link[b-ypvnmup7o6] {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.btn-login-link:hover[b-ypvnmup7o6] { background: #0056b3; color: #fff; }

/* Status badges (shared with Admin.razor) */
.status-badge[b-ypvnmup7o6] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}
.status-pending[b-ypvnmup7o6]         { background: #fff3cd; color: #856404; }
.status-quoted[b-ypvnmup7o6]          { background: #cce5ff; color: #004085; }
.status-accepted[b-ypvnmup7o6]        { background: #d4edda; color: #155724; }
.status-inproduction[b-ypvnmup7o6]    { background: #d1ecf1; color: #0c5460; }
.status-shipped[b-ypvnmup7o6]         { background: #d6d8f8; color: #383d8b; }
.status-delivered[b-ypvnmup7o6]       { background: #c3e6cb; color: #155724; }
.status-completed[b-ypvnmup7o6]       { background: #b8daff; color: #004085; }
.status-canceled[b-ypvnmup7o6]        { background: #f8d7da; color: #721c24; }
.status-pendingpayment[b-ypvnmup7o6]  { background: #ffeeba; color: #856404; }
.status-paid[b-ypvnmup7o6]            { background: #c3e6cb; color: #155724; }

/* /Components/Pages/AdminProducts.razor.rz.scp.css */
/* =====================================================
   Admin Products page  /admin/products
   Matches site colour palette
   ===================================================== */

.ap-page[b-87x6bwzxfg] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.25rem 3rem;
}

.ap-loading[b-87x6bwzxfg] { color: #666; }

.ap-topbar[b-87x6bwzxfg] {
    margin-bottom: 1.75rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #eee;
}

.ap-topbar h1[b-87x6bwzxfg] {
    margin: 0;
    font-size: 1.8rem;
    color: #1a1a2e;
}

/* Two-column layout */
.ap-layout[b-87x6bwzxfg] {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 900px) {
    .ap-layout[b-87x6bwzxfg] { grid-template-columns: 1fr; }
}

/* Cards */
.ap-card[b-87x6bwzxfg] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 1.5rem;
}

.ap-card h2[b-87x6bwzxfg] {
    margin: 0 0 1.25rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a1a2e;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #eee;
}

/* Form */
.form-row-2[b-87x6bwzxfg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.form-row-3[b-87x6bwzxfg] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.75rem;
}

@media (max-width: 500px) {
    .form-row-2[b-87x6bwzxfg], .form-row-3[b-87x6bwzxfg] { grid-template-columns: 1fr; }
}

.form-group[b-87x6bwzxfg] { margin-bottom: 0.85rem; }

.form-group label[b-87x6bwzxfg] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 0.3rem;
}

.form-control[b-87x6bwzxfg] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 0.95rem;
    box-sizing: border-box;
    color: #333;
}

.form-control:focus[b-87x6bwzxfg] {
    outline: none;
    border-color: #3a0647;
    box-shadow: 0 0 0 2px rgba(58,6,71,0.15);
}

textarea.form-control[b-87x6bwzxfg] {
    resize: vertical;
    min-height: 80px;
}

.form-check label[b-87x6bwzxfg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
}

.form-control-file[b-87x6bwzxfg] {
    display: block;
    width: 100%;
    padding: 0.4rem;
    border: 1px dashed #ccc;
    border-radius: 4px;
    background: #f9f9f9;
    font-size: 0.875rem;
}

.form-text[b-87x6bwzxfg] {
    font-size: 0.78rem;
    color: #888;
    margin-top: 0.25rem;
}

.selected-files[b-87x6bwzxfg] {
    background: #f5f5f5;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 0.85rem;
    font-size: 0.85rem;
}

.selected-files ul[b-87x6bwzxfg] { margin: 0.35rem 0 0 1.25rem; padding: 0; }
.selected-files li[b-87x6bwzxfg] { margin-bottom: 0.15rem; }
.file-size[b-87x6bwzxfg] { color: #999; font-size: 0.78rem; }

.validation-message[b-87x6bwzxfg] {
    color: #dc3545;
    font-size: 0.8rem;
    margin-top: 0.2rem;
}

.btn-submit[b-87x6bwzxfg] {
    width: 100%;
    padding: 0.7rem;
    background: linear-gradient(90deg, rgb(5,39,103) 0%, #3a0647 100%);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
    margin-top: 0.25rem;
}

.btn-submit:hover:not(:disabled)[b-87x6bwzxfg] { opacity: 0.9; }
.btn-submit:disabled[b-87x6bwzxfg] { opacity: 0.5; cursor: not-allowed; }

.ap-success[b-87x6bwzxfg] {
    background: #d4edda;
    color: #155724;
    padding: 0.6rem 0.85rem;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.ap-error[b-87x6bwzxfg] {
    background: #f8d7da;
    color: #721c24;
    padding: 0.6rem 0.85rem;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

/* Table card */
.ap-table-header[b-87x6bwzxfg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #eee;
}

.ap-table-header h2[b-87x6bwzxfg] { margin: 0; border: none; padding: 0; }

.ap-count[b-87x6bwzxfg] {
    font-size: 0.8rem;
    color: #999;
    font-weight: 500;
}

.ap-empty[b-87x6bwzxfg] {
    color: #999;
    font-size: 0.9rem;
    text-align: center;
    padding: 2rem 0;
}

.ap-table-wrap[b-87x6bwzxfg] {
    width: 100%;
    overflow-x: auto;
}

.ap-table[b-87x6bwzxfg] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.ap-table th[b-87x6bwzxfg],
.ap-table td[b-87x6bwzxfg] {
    padding: 0.65rem 0.85rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.ap-table th[b-87x6bwzxfg] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #888;
    font-weight: 700;
    background: #f8f9fa;
}

.ap-table tbody tr:hover[b-87x6bwzxfg] { background: #f8f9fa; }
.ap-table tbody tr:last-child td[b-87x6bwzxfg] { border-bottom: none; }

.type-badge[b-87x6bwzxfg] {
    display: inline-block;
    background: rgba(58,6,71,0.08);
    color: #3a0647;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
}

.badge-active[b-87x6bwzxfg] {
    display: inline-block;
    background: #d4edda;
    color: #155724;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
}

.badge-inactive[b-87x6bwzxfg] {
    display: inline-block;
    background: #f8d7da;
    color: #721c24;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
}

.btn-remove[b-87x6bwzxfg] {
    padding: 0.3rem 0.75rem;
    background: #fff;
    color: #dc3545;
    border: 1px solid #dc3545;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
}

.btn-remove:hover:not(:disabled)[b-87x6bwzxfg] {
    background: #dc3545;
    color: #fff;
}

.btn-remove:disabled[b-87x6bwzxfg] { opacity: 0.5; cursor: not-allowed; }

/* Access denied */
.unauthorized[b-87x6bwzxfg] {
    text-align: center;
    padding: 3rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-width: 500px;
    margin: 2rem auto;
}
.unauthorized h2[b-87x6bwzxfg] { color: #dc3545; margin-top: 0; }
.unauthorized p[b-87x6bwzxfg]  { color: #666; }

.btn-login-link[b-87x6bwzxfg] {
    display: inline-block;
    padding: 0.65rem 1.5rem;
    background: linear-gradient(90deg, rgb(5,39,103) 0%, #3a0647 100%);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.btn-login-link:hover[b-87x6bwzxfg] { opacity: 0.9; color: #fff; text-decoration: none; }
/* /Components/Pages/Catalog.razor.rz.scp.css */
.catalog-intro[b-wgeu4nnkmd] { margin-top:.25rem; color: var(--color-muted); }

.catalog-grid[b-wgeu4nnkmd] {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    margin-top: 1.25rem;
}

.catalog-item[b-wgeu4nnkmd] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: .75rem .75rem .9rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: var(--shadow-sm);
    transition: transform .15s ease, box-shadow .15s ease;
}

.catalog-item:hover[b-wgeu4nnkmd], .catalog-item:focus-within[b-wgeu4nnkmd] {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.catalog-item a[b-wgeu4nnkmd] { text-decoration: none; }

.catalog-item img[b-wgeu4nnkmd] {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: contain;
    border-radius: 6px;
}

.catalog-item figcaption[b-wgeu4nnkmd] {
    margin-top: .6rem;
    font-size: .92rem;
    text-align: center;
}

.catalog-item figcaption a[b-wgeu4nnkmd] {
    color: var(--color-text);
    font-weight: 600;
}

.catalog-item figcaption a:hover[b-wgeu4nnkmd] {
    color: var(--color-primary);
    text-decoration: underline;
}

.catalog-pager[b-wgeu4nnkmd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-top: 1.5rem;
}

.catalog-pager select[b-wgeu4nnkmd] {
    padding: .4rem .6rem;
    border-radius: 6px;
    border: 1px solid var(--color-border);
}

@media (max-width: 480px) {
    .catalog-grid[b-wgeu4nnkmd] {
        grid-template-columns: repeat(2, 1fr);
        gap: .75rem;
    }
}

/* /Components/Pages/Contact.razor.rz.scp.css */
.contact-hero[b-34ac7eadr6] {
    max-width: 60ch;
    margin: 0 0 2rem;
}

.contact-hero p[b-34ac7eadr6] {
    color: var(--color-muted);
    font-size: 1.05rem;
}

.contact-grid[b-34ac7eadr6] {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.contact-card[b-34ac7eadr6] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 1.5rem;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.contact-card h2[b-34ac7eadr6] {
    font-size: 1.15rem;
    margin: 0;
}

.contact-card p[b-34ac7eadr6] {
    margin: 0;
    color: var(--color-muted);
}

.contact-card-icon[b-34ac7eadr6] {
    font-size: 1.6rem;
}

.contact-card-cta[b-34ac7eadr6] {
    text-decoration: none;
    color: inherit;
    background: linear-gradient(160deg, var(--color-primary-soft), var(--color-surface));
    border-color: var(--color-primary);
    transition: transform .15s ease, box-shadow .15s ease;
}

.contact-card-cta:hover[b-34ac7eadr6], .contact-card-cta:focus-visible[b-34ac7eadr6] {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.contact-card-link[b-34ac7eadr6] {
    margin-top: .25rem;
    font-weight: 600;
    color: var(--color-primary);
}

.contact-social[b-34ac7eadr6] { list-style:none; padding:0; margin:.25rem 0 0; display:flex; flex-direction: column; gap:.5rem; }
.contact-social a[b-34ac7eadr6] { text-decoration:none; color: var(--color-primary); font-weight: 500; }
.contact-social a:hover[b-34ac7eadr6] { text-decoration:underline; }

@media (max-width: 480px) {
    .contact-grid[b-34ac7eadr6] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/CustomOrder.razor.rz.scp.css */
.page-intro[b-bc13crhkyk] {
    color: #555;
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.custom-order-form[b-bc13crhkyk] {
    max-width: 900px;
}

.form-section[b-bc13crhkyk] {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #e9ecef;
}

.form-section h2[b-bc13crhkyk] {
    font-size: 1.25rem;
    color: var(--color-primary);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--color-primary);
}

.form-label[b-bc13crhkyk] {
    font-weight: 500;
    color: #333;
}

.required[b-bc13crhkyk] {
    color: #dc3545;
}

.optional[b-bc13crhkyk] {
    color: #6c757d;
    font-weight: normal;
    font-size: 0.875rem;
}

.form-control:focus[b-bc13crhkyk],
.form-select:focus[b-bc13crhkyk] {
    border-color: #052767;
    box-shadow: 0 0 0 0.2rem rgba(5, 39, 103, 0.25);
}

.size-details[b-bc13crhkyk] {
    background: #fff;
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #dee2e6;
}

.size-info-table[b-bc13crhkyk] {
    margin-bottom: 0;
    font-size: 0.9rem;
}

.size-info-table th[b-bc13crhkyk] {
    background: #052767;
    color: white;
    font-weight: 500;
}

.size-info-table td:first-child[b-bc13crhkyk] {
    font-weight: 500;
    background: #f8f9fa;
}

.form-actions[b-bc13crhkyk] {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

.btn-primary[b-bc13crhkyk] {
    background-color: #052767;
    border-color: #052767;
}

.btn-primary:hover[b-bc13crhkyk] {
    background-color: #041d4d;
    border-color: #041d4d;
}

.btn-primary:disabled[b-bc13crhkyk] {
    background-color: #6c757d;
    border-color: #6c757d;
}

.alert-info[b-bc13crhkyk] {
    background-color: #e7f3ff;
    border-color: #b8daff;
    color: #004085;
}

.alert-success h4[b-bc13crhkyk] {
    color: #155724;
    margin-bottom: 0.5rem;
}

.form-check-input:checked[b-bc13crhkyk] {
    background-color: #052767;
    border-color: #052767;
}

.form-text[b-bc13crhkyk] {
    font-size: 0.85rem;
}

@media (max-width: 480px) {
    .form-section[b-bc13crhkyk] {
        padding: 1rem;
    }
}

[b-bc13crhkyk] .validation-message {
    font-size: 0.875rem;
}

/* /Components/Pages/Home.razor.rz.scp.css */
.page-grid[b-g0a2g1mv0f] {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem;
}

.home-hero[b-g0a2g1mv0f] {
    display: grid;
    gap: 2rem;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    padding: 1.5rem 0 1rem;
}

.hero-image[b-g0a2g1mv0f] {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: var(--shadow-md);
}

.hero-eyebrow[b-g0a2g1mv0f] {
    display: inline-block;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-accent-dark);
    background: #fbeee0;
    padding: .35rem .8rem;
    border-radius: 999px;
    margin-bottom: .75rem;
}

.hero-text h1[b-g0a2g1mv0f] {
    margin: 0 0 .75rem;
    font-size: clamp(2rem, 4.6vw, 3rem);
}

.hero-text p[b-g0a2g1mv0f] {
    font-size: 1.1rem;
    color: var(--color-muted);
    margin: 0;
    max-width: 46ch;
}

.hero-actions[b-g0a2g1mv0f] {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin-top: 1.5rem;
}

.carousel-section[b-g0a2g1mv0f] {
    margin-top: 2.5rem;
}

.carousel-section h2[b-g0a2g1mv0f] {
    font-size: 1.6rem;
    margin: 0 0 .75rem;
}

.carousel[b-g0a2g1mv0f] {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 1rem;
    padding: 1rem 0;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.carousel img[b-g0a2g1mv0f] {
    flex: 0 0 auto;
    width: 300px;
    height: 200px;
    object-fit: cover;
    scroll-snap-align: start;
    border-radius: 8px;
}

.prev[b-g0a2g1mv0f], .next[b-g0a2g1mv0f] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 1rem;
    font-size: 2rem;
    cursor: pointer;
    z-index: 10;
}
.prev[b-g0a2g1mv0f] { left: 10px; }
.next[b-g0a2g1mv0f] { right: 10px; }

.carousel-section[b-g0a2g1mv0f] { position: relative; }

.other-stuff[b-g0a2g1mv0f] {
    grid-row: 3;
}

@media (max-width: 850px) {
    .home-hero[b-g0a2g1mv0f] {
        grid-template-columns: 1fr;
    }
    .hero-text[b-g0a2g1mv0f] {
        text-align: center;
        order: 1;
    }
    .hero-image[b-g0a2g1mv0f] {
        order: 0;
        aspect-ratio: 16 / 10;
        max-height: 320px;
    }
    .hero-actions[b-g0a2g1mv0f] {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .hero-actions[b-g0a2g1mv0f] {
        flex-direction: column;
    }
    .hero-actions .btn[b-g0a2g1mv0f] {
        width: 100%;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-container[b-23ffyk5qng] {
    max-width: 400px;
    margin: 2rem auto;
    padding: 2rem;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}

.login-container h1[b-23ffyk5qng] {
    text-align: center;
    margin-bottom: 1.5rem;
}

@media (max-width: 480px) {
    .login-container[b-23ffyk5qng] {
        margin: 1rem auto;
        padding: 1.5rem;
    }
}

.form-group[b-23ffyk5qng] {
    margin-bottom: 1rem;
}

.form-group label[b-23ffyk5qng] {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #555;
}

.form-control[b-23ffyk5qng] {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    box-sizing: border-box;
}

.form-control:focus[b-23ffyk5qng] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(5, 39, 103, 0.2);
}

.btn-login[b-23ffyk5qng] {
    width: 100%;
    padding: 0.75rem;
    background: var(--color-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
    margin-top: 1rem;
    min-height: 44px;
}

.btn-login:hover:not(:disabled)[b-23ffyk5qng] {
    background: var(--color-primary-dark);
}

.btn-login:disabled[b-23ffyk5qng] {
    background: #ccc;
    cursor: not-allowed;
}

.error-message[b-23ffyk5qng] {
    background: #f8d7da;
    color: #721c24;
    padding: 0.75rem;
    border-radius: 4px;
    margin-bottom: 1rem;
    text-align: center;
}

.validation-message[b-23ffyk5qng] {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* /Components/Pages/Product.razor.rz.scp.css */
:host[b-ihj5ie5n30] {
    /* Component design tokens */
    --pd-primary: #052767;
    --pd-primary-600: #031a45;
    --pd-danger-bg: #fee2e2;
    --pd-danger-fg: #991b1b;
    --pd-bg: #ffffff;
    --pd-surface: #f8fafc;
    --pd-muted: #6b7280; /* gray-500 */
    --pd-text: #111827;  /* gray-900 */
    --pd-border: #e5e7eb; /* gray-200 */
    --pd-border-strong: #d1d5db; /* gray-300 */
    --pd-ring: rgba(37, 99, 235, .35);
    --pd-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
}

.product-detail[b-ihj5ie5n30] {
    display: grid;
    gap: 1.25rem;
    color: var(--pd-text);
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 1rem;
}

.pd-header[b-ihj5ie5n30] {
    display: grid;
    gap: .5rem;
}

.pd-breadcrumbs[b-ihj5ie5n30] {
    font-size: .92rem;
    color: var(--pd-muted);
}

.pd-breadcrumbs a[b-ihj5ie5n30] {
    color: var(--pd-primary) !important;
    text-decoration: underline !important;
    font-weight: 500;
}

.pd-breadcrumbs a:hover[b-ihj5ie5n30],
.pd-breadcrumbs a:focus-visible[b-ihj5ie5n30] {
    color: var(--pd-primary-600) !important;
    text-decoration: underline;
}

.pd-header h1[b-ihj5ie5n30] {
    margin: 0.25rem 0 0.25rem;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 700;
    letter-spacing: .2px;
}

.pd-badge[b-ihj5ie5n30] {
    display: inline-block;
    background: var(--pd-danger-bg);
    color: var(--pd-danger-fg);
    padding: .3rem .6rem;
    border: 1px solid #fecaca;
    border-radius: .375rem;
    font-weight: 600;
    text-transform: uppercase;
    font-size: .75rem;
}

.pd-content[b-ihj5ie5n30] {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 2rem;
    align-items: start;
}

.pd-gallery[b-ihj5ie5n30] {
    display: grid;
    gap: .75rem;
}

.pd-main-image[b-ihj5ie5n30] {
    background: var(--pd-surface);
    border: 1px solid var(--pd-border);
    border-radius: .5rem;
    box-shadow: var(--pd-shadow);
    overflow: hidden;
    min-height: clamp(260px, 42vw, 520px);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hide broken/empty images */
.pd-main-image img[src=""][b-ihj5ie5n30],
.pd-main-image img:not([src])[b-ihj5ie5n30] {
    display: none;
}

.pd-main-image img[b-ihj5ie5n30] {
    width: 100%;
    height: clamp(260px, 42vw, 520px);
    object-fit: contain;
    display: block;
    background: linear-gradient(180deg, #fff, #f7fafc);
}

.pd-thumbs[b-ihj5ie5n30] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.pd-thumb[b-ihj5ie5n30] {
    border: 1px solid var(--pd-border);
    padding: 2px;
    background: var(--pd-bg);
    border-radius: .375rem;
    cursor: pointer;
    transition: box-shadow .15s ease, transform .08s ease;
}

.pd-thumb:focus-visible[b-ihj5ie5n30] {
    outline: 3px solid var(--pd-ring);
    outline-offset: 1px;
}

.pd-thumb:hover[b-ihj5ie5n30] {
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .15);
    transform: translateY(-1px);
}

.pd-thumb img[b-ihj5ie5n30] {
    width: 74px;
    height: 74px;
    object-fit: cover;
    border-radius: .25rem;
    opacity: .9;
    display: block;
}

.pd-thumb.active[b-ihj5ie5n30], .pd-thumb.active img[b-ihj5ie5n30] {
    box-shadow: 0 0 0 2px var(--pd-primary);
    opacity: 1;
}

.pd-meta[b-ihj5ie5n30] {
    display: grid;
    gap: 1.25rem;
}

/* Card-like surface for meta sections */
.pd-meta > *:where(section, dl)[b-ihj5ie5n30] {
    background: var(--pd-bg);
    border: 1px solid var(--pd-border);
    border-radius: .5rem;
    box-shadow: var(--pd-shadow);
    padding: 1rem 1.25rem;
}

.pd-attrs[b-ihj5ie5n30] {
    display: grid;
    grid-template-columns: max(110px, 28%) 1fr;
    gap: .35rem 1rem;
}

.pd-attrs dt[b-ihj5ie5n30] {
    font-weight: 700;
    color: #374151;
}

.pd-attrs dd[b-ihj5ie5n30] {
    margin: 0;
    color: var(--pd-text);
}

/* Purchase section styling */
.pd-purchase[b-ihj5ie5n30] {
    background: var(--pd-bg);
    border: 1px solid var(--pd-border);
    border-radius: .5rem;
    box-shadow: var(--pd-shadow);
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pd-purchase button[b-ihj5ie5n30] {
    width: 100%;
}

.pd-purchase .mb-2[b-ihj5ie5n30] {
    margin-bottom: 0 !important;
}

/* Variants table */
.pd-variants[b-ihj5ie5n30] { overflow-x: auto; }

.pd-variant-table[b-ihj5ie5n30] {
    width: 100%;
    min-width: 640px;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--pd-border);
    border-radius: .5rem;
    overflow: hidden;
}

.pd-variant-table thead th[b-ihj5ie5n30] {
    background: #f3f4f6;
    color: #374151;
    font-weight: 700;
    font-size: .92rem;
    border-bottom: 1px solid var(--pd-border-strong);
    padding: .65rem .75rem;
    text-align: left;
}

.pd-variant-table td[b-ihj5ie5n30] {
    padding: .65rem .75rem;
    border-bottom: 1px solid var(--pd-border);
    vertical-align: middle;
}

.pd-variant-table tbody tr:nth-child(even)[b-ihj5ie5n30] {
    background: #fafafa;
}

.pd-variant-table tbody tr:hover[b-ihj5ie5n30] {
    background: #f1f5f9;
}

.pd-color[b-ihj5ie5n30] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, .12);
    margin-right: .4rem;
    vertical-align: -2px;
}

/* Responsive tweaks */
@media (max-width: 720px) {
    .product-detail[b-ihj5ie5n30] { padding-inline: .75rem; }

    .pd-main-image img[b-ihj5ie5n30] { height: clamp(220px, 52vw, 420px); }

    .pd-thumbs[b-ihj5ie5n30] {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: .25rem;
    }

    .pd-thumb img[b-ihj5ie5n30] { width: 66px; height: 66px; }
}

@media (max-width: 1024px) {
    .pd-content[b-ihj5ie5n30] { grid-template-columns: 1fr; }
}
/* /Components/Pages/ProductCarousel.razor.rz.scp.css */
/* Wrapper (use custom classes so Bootstrap .carousel doesn't interfere) */
.pc[b-5190g4lb74] {
    --pc-gap: 1rem;
    --pc-img-h: 260px;
    --pc-edge-fade: 48px;  /* nice soft edges; tweak or remove */

    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
}

/* Viewport clips the moving ribbon; no scrollbars */
.pc-viewport[b-5190g4lb74] {
    overflow: hidden;
    position: relative;
    width: 100%;
    /* Optional: soft fade on edges (mask supported browsers) */
    -webkit-mask-image: linear-gradient(to right, transparent 0, black var(--pc-edge-fade),
    black calc(100% - var(--pc-edge-fade)), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, black var(--pc-edge-fade),
    black calc(100% - var(--pc-edge-fade)), transparent 100%);
}

/* Horizontal ribbon that moves automatically */
.pc-ribbon[b-5190g4lb74] {
    display: inline-flex;          /* width shrinks to content; important for the loop trick */
    align-items: center;
    gap: var(--pc-gap);
    will-change: transform;
    animation-play-state: running;
}

.pc-ribbon[data-paused="True"][b-5190g4lb74] {
    animation-play-state: paused;
}

/* L→R continuous loop.
   We render two identical sets of items; translating from -50% -> 0%
   slides the second half into view and loops seamlessly. */
.pc-ltr[b-5190g4lb74] {
    animation: pc-move-rtl-b-5190g4lb74 60s linear infinite ;
}
@keyframes pc-move-rtl-b-5190g4lb74 {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-50%, 0, 0); }
}


/* Each image+caption group */
.pc-cell[b-5190g4lb74] {
    flex: 0 0 auto;                /* natural width; as many visible as the viewport allows */
    display: grid;
    justify-items: center;
    align-content: start;
}

/* Image sizing */
.pc-img[b-5190g4lb74] {
    display: block;
    height: var(--pc-img-h);
    width: auto;
    object-fit: contain;
    user-select: none;
}

/* Caption */
.pc-caption[b-5190g4lb74] {
    margin-top: 0.25rem;
    padding: 0 0.25rem;
    font-size: 0.9rem;
    line-height: 1.2;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Placeholders */
.pc-placeholder[b-5190g4lb74] { padding: 1rem; color: #666; }

/* Responsive image heights */
@media (max-width: 480px)  { .pc[b-5190g4lb74] { --pc-img-h: 160px; } }
@media (min-width: 768px)  { .pc[b-5190g4lb74] { --pc-img-h: 220px; } }
@media (min-width: 1024px) { .pc[b-5190g4lb74] { --pc-img-h: 260px; } }

/* Reduced motion: turn off the animation */
@media (prefers-reduced-motion: reduce) {
    .pc-ltr[b-5190g4lb74] { animation: none; }
}
