:root{
    --bg1:#0b1220;
    --bg2:#0f172a;
    --card: rgba(255,255,255,.08);
    --card-2: rgba(255,255,255,.14);
    --text:#e5e7eb;
    --muted: rgba(229,231,235,.72);
    --border: rgba(255,255,255,.12);
    --shadow: 0 14px 40px rgba(0,0,0,.35);
    --shadow-soft: 0 10px 28px rgba(0,0,0,.22);
    --radius: 16px;
    --radius-lg: 22px;
    --accent:#ffc107;
    --accent-2:#ffffff;
    --focus: rgba(255,193,7,.45);
}

/* App background and typography */
body{
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    color: #111827;
    background:
        radial-gradient(900px 500px at 15% -10%, rgba(255,193,7,.18), transparent 55%),
        radial-gradient(850px 480px at 90% 0%, rgba(99,102,241,.18), transparent 55%),
        linear-gradient(180deg, #f8fafc 0%, #eef2ff 45%, #f8fafc 100%);
}

/* Bootstrap utility classes include `!important`; override to keep premium background. */
body.bg-light{
    background:
        radial-gradient(900px 500px at 15% -10%, rgba(255,193,7,.18), transparent 55%),
        radial-gradient(850px 480px at 90% 0%, rgba(99,102,241,.18), transparent 55%),
        linear-gradient(180deg, #f8fafc 0%, #eef2ff 45%, #f8fafc 100%) !important;
}

main.container{
    animation: pageIn .35s ease-out both;
}

@keyframes pageIn{
    from{ opacity: 0; transform: translateY(6px); }
    to{ opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce){
    main.container{ animation: none; }
    *{ scroll-behavior: auto !important; transition: none !important; }
}

/* Navbar polish */
.navbar{
    border-bottom: 1px solid rgba(15,23,42,.12);
    backdrop-filter: blur(10px);
}
.navbar .navbar-brand{
    letter-spacing: .2px;
}
.navbar .nav-link{
    color: rgba(255,255,255,.88);
    transition: color .2s ease, transform .2s ease;
}
.navbar .nav-link:hover{
    color: #fff;
    transform: translateY(-1px);
}

/* Hero: premium glass + subtle motion */
.hero{
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #111827 0%, #374151 100%);
    color: #fff;
    border-radius: var(--radius-lg);
    padding: clamp(1.5rem, 2.6vw, 3rem);
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(255,255,255,.10);
}
.hero::before{
    content:"";
    position:absolute;
    inset:-40%;
    background: radial-gradient(circle at 30% 30%, rgba(255,193,7,.35), transparent 50%),
                radial-gradient(circle at 70% 20%, rgba(99,102,241,.25), transparent 45%);
    transform: rotate(10deg);
    pointer-events:none;
}
.hero > *{
    position: relative;
    z-index: 1;
}

/* Cards: consistent radius, subtle glass, hover lift */
.card{
    border-radius: var(--radius);
    border: 1px solid rgba(15,23,42,.10);
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 26px rgba(2,6,23,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@supports not (backdrop-filter: blur(12px)){
    .card{ background: #fff; }
}
.card:hover{
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(2,6,23,.12);
    border-color: rgba(99,102,241,.28);
}

.card-body{
    padding: 1.25rem 1.25rem;
}

/* Buttons: premium hover/press */
.btn{
    border-radius: 999px;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
}
.btn:focus{
    box-shadow: 0 0 0 .2rem var(--focus);
}
.btn:hover{
    transform: translateY(-1px);
}

.btn-primary{
    background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%) !important;
    border: none !important;
}
.btn-dark{
    background: linear-gradient(135deg, #111827 0%, #1f2937 100%) !important;
    border: none !important;
}
.btn-warning{
    background: linear-gradient(135deg, var(--accent) 0%, #f59e0b 100%) !important;
    border: none !important;
    color: #111827 !important;
}

/* Product cards / images */
.product-card{
    overflow: hidden;
    border-radius: var(--radius);
}
.product-card img{
    height: 210px;
    object-fit: cover;
    transition: transform .35s ease;
}
.product-card:hover img{
    transform: scale(1.03);
}

/* Inputs focus */
.form-control:focus,
.form-select:focus{
    border-color: rgba(99,102,241,.55);
    box-shadow: 0 0 0 .2rem rgba(99,102,241,.18);
}

/* Tables: cleaner look */
.table{
    border-radius: var(--radius);
    overflow: hidden;
}
.table thead th{
    background: rgba(15,23,42,.06);
    border-color: rgba(15,23,42,.12) !important;
}

/* Alerts: tuned shadows */
.alert{
    border-radius: var(--radius);
    box-shadow: 0 10px 22px rgba(2,6,23,.06);
}

/* Footer polish */
footer{
    margin-top: 2.5rem;
    border-top: 1px solid rgba(15,23,42,.12);
    background: linear-gradient(180deg, rgba(17,24,39,.95) 0%, rgba(17,24,39,1) 100%);
}
footer p, footer small{
    color: rgba(255,255,255,.86);
}
