:root{
    --bg-dark:#09080f;
    --surface-dark:rgba(31,18,44,.74);
    --surface-dark-2:rgba(44,23,67,.48);
    --border-dark:rgba(255,255,255,.12);
    --text:#f7f5ff;
    --muted:#b9b4cb;
    --primary:#7c3aed;
    --primary-2:#9333ea;
    --accent:#d7a7ff;
    --light-bg:#f8f6ff;
    --light-surface:rgba(255,255,255,.78);
    --light-border:rgba(86,73,120,.12);
    --light-text:#181424;
    --light-muted:#675f79;
    --radius:24px;
    --shadow:0 20px 60px rgba(18, 10, 34, .35);
}

html[data-theme="light"]{
    color-scheme:light;
    --page-bg:linear-gradient(180deg,#fcfbff 0%,#f0f7ff 100%);
    --surface:var(--light-surface);
    --surface-2:rgba(255,255,255,.58);
    --border:var(--light-border);
    --body-text:var(--light-text);
    --body-muted:var(--light-muted);
    --card-shadow:0 20px 50px rgba(121, 102, 164, .12);
    --input-bg:rgba(255,255,255,.92);
    --input-text:#181424;
    --input-border:rgba(86,73,120,.16);
    --select-option-bg:#ffffff;
    --select-option-text:#181424;
    --dropdown-bg:rgba(255,255,255,.98);
    --dropdown-text:#181424;
}
html[data-theme="dark"]{
    color-scheme:dark;
    --page-bg:radial-gradient(circle at top right, rgba(175,120,255,.16), transparent 28%), linear-gradient(180deg,#08070c 0%,#0e0b16 100%);
    --surface:var(--surface-dark);
    --surface-2:var(--surface-dark-2);
    --border:var(--border-dark);
    --body-text:var(--text);
    --body-muted:var(--muted);
    --card-shadow:var(--shadow);
    --input-bg:rgba(255,255,255,.06);
    --input-text:#f7f5ff;
    --input-border:rgba(255,255,255,.12);
    --select-option-bg:#171222;
    --select-option-text:#f7f5ff;
    --dropdown-bg:rgba(20,16,31,.98);
    --dropdown-text:#f7f5ff;
}

html, body{ min-height:100%; }
body{
    background:var(--page-bg);
    color:var(--body-text);
    font-family:"Cairo", system-ui, sans-serif;
    overflow-x:hidden;
}
a{ transition:.2s ease; }
.text-secondary{ color:var(--body-muted) !important; }
.glass-bg{ position:relative; }
.bg-orbs{ position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:-1; }
.orb{ position:absolute; display:block; border-radius:50%; filter:blur(48px); opacity:.42; }
.orb-1{ width:380px;height:380px;top:-80px;right:-80px; background:rgba(140,82,255,.35);}
.orb-2{ width:280px;height:280px;bottom:20%;left:-80px; background:rgba(214,143,255,.18);}
.orb-3{ width:260px;height:260px;bottom:-40px;right:20%; background:rgba(111,66,193,.22);}
.glass-nav,.glass-card,.btn-glass,.glass-badge{ backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.glass-nav{ background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));}
.glass-card{ background:linear-gradient(180deg, var(--surface), var(--surface-2)); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--card-shadow);}
.btn-glass{ background:rgba(255,255,255,.06); color:var(--body-text); border:1px solid var(--border); border-radius:999px; padding:.65rem 1.1rem; }
.btn-glass:hover{ background:rgba(255,255,255,.12); color:var(--body-text);}
.btn-primary-soft{ background:linear-gradient(135deg, rgba(124,58,237,.92), rgba(168,85,247,.82)); color:#fff; border:none; border-radius:999px; padding:.8rem 1.35rem; box-shadow:0 14px 30px rgba(124,58,237,.35);}
.btn-primary-soft:hover{ color:#fff; transform:translateY(-1px); }
.navbar .nav-link{ color:var(--body-muted); font-weight:600;}
.navbar .nav-link:hover,.navbar .nav-link.active{ color:var(--body-text);}
.navbar-toggler-icon{ filter:invert(1); }
html[data-theme="light"] .navbar-toggler-icon{ filter:none; }
.text-gradient{ background:linear-gradient(90deg,#f2e8ff,#c89bff,#ffffff); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-section{ padding-top:2.5rem; }
.hero-title{ line-height:1.25; }
.hero-visual{ padding:1.25rem; position:relative; }
.page-hero{ position:relative; overflow:hidden; }
.page-hero::after{ content:""; position:absolute; inset:auto -40px -40px auto; width:180px;height:180px; background:radial-gradient(circle, rgba(175,120,255,.28), transparent 70%);}
.section-kicker{ color:#d8c2ff; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
.glass-badge{ border:1px solid var(--border); background:rgba(255,255,255,.08); color:#f4e9ff; border-radius:999px; padding:.65rem .95rem; }
.product-card,.category-card,.video-card,.stat-card,.admin-shortcut-card{ transition:.25s ease; }
.product-card:hover,.category-card:hover,.video-card:hover,.stat-card:hover,.admin-shortcut-card:hover{ transform:translateY(-4px); }
.product-image,.category-cover{ width:100%; aspect-ratio: 4 / 3; background-size:cover; background-position:center; border-radius:24px 24px 0 0; }
.product-media,
.product-video,
.product-embed{ width:100%; aspect-ratio:4 / 3; object-fit:cover; display:block; border-radius:24px 24px 0 0; background:rgba(255,255,255,.04); }
.product-embed{ border:0; }
.price-tag{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .85rem; border-radius:999px; background:rgba(255,255,255,.08); font-weight:800; }
.video-card iframe{ border:0; width:100%; aspect-ratio:16/9; }
.media-cover{ aspect-ratio:16/9; object-fit:cover; display:block; }
.icon-badge,
.shortcut-icon{
    display:inline-flex;
    width:56px;
    height:56px;
    border-radius:18px;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, rgba(124,58,237,.24), rgba(255,255,255,.08));
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:1.35rem;
}
.cart-top-btn{ padding-inline-end:2.85rem; }
.cart-badge{
    position:absolute;
    top:-8px;
    inset-inline-end:-2px;
    min-width:24px;
    height:24px;
    border-radius:999px;
    background:#fff;
    color:#5b21b6;
    font-size:.8rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    box-shadow:0 10px 25px rgba(0,0,0,.18);
}
.social-links{ margin-top:.5rem; }
.social-circle{
    width:46px;
    height:46px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    background:rgba(255,255,255,.07);
    color:var(--body-text);
    border:1px solid var(--border);
    box-shadow:0 10px 25px rgba(0,0,0,.14);
}
.social-circle:hover{
    transform:translateY(-2px);
    color:#fff;
    background:linear-gradient(135deg, rgba(124,58,237,.9), rgba(168,85,247,.85));
}
.table,.table > :not(caption) > * > *{ color:var(--body-text) !important; background:transparent !important; }
.form-control,
.form-select,
.dropdown-menu{
    background:var(--input-bg);
    color:var(--input-text);
    border:1px solid var(--input-border);
    border-radius:18px;
}
.form-control,
.form-select{ padding:.85rem 1rem; }
.form-control:focus,
.form-select:focus{
    color:var(--input-text);
    background:var(--input-bg);
    border-color:rgba(192,132,252,.45);
    box-shadow:0 0 0 .25rem rgba(168,85,247,.15);
}
.form-control::placeholder{ color:var(--body-muted); }
.form-select option,
.form-select optgroup{
    background:var(--select-option-bg);
    color:var(--select-option-text);
}
.dropdown-menu{
    background:var(--dropdown-bg);
    color:var(--dropdown-text);
}
.dropdown-item{
    color:var(--dropdown-text);
}
.dropdown-item:hover,
.dropdown-item:focus{
    background:rgba(124,58,237,.14);
    color:var(--dropdown-text);
}
html[data-theme="dark"] .form-select{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f7f5ff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
html[data-theme="light"] .form-select{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23181424' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.form-check-input{
    background-color:var(--input-bg);
    border-color:var(--input-border);
}
.form-check-input:checked{
    background-color:#7c3aed;
    border-color:#7c3aed;
}
.form-check-input:focus{
    box-shadow:0 0 0 .25rem rgba(168,85,247,.15);
}
.media-toggle-group{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
}
.media-toggle-group .btn{
    min-width:140px;
}
.media-toggle-group .btn-check:checked + .btn{
    background:linear-gradient(135deg, rgba(124,58,237,.92), rgba(168,85,247,.82));
    color:#fff;
    border-color:transparent;
}
.cart-thumb{ width:60px; height:60px; object-fit:cover; border-radius:14px; }
.alert{ border-radius:18px; }
.badge{ font-weight:700; }
.py-lg-6{ padding-top:5.5rem !important; padding-bottom:5.5rem !important; }
.admin-body .navbar-brand{ font-size:1.75rem; }
html[data-theme="light"] .glass-stat{ background:rgba(255,255,255,.84); }
html[data-theme="light"] .btn-glass{ background:rgba(255,255,255,.6); }
html[data-theme="light"] .price-tag,
html[data-theme="light"] .glass-badge,
html[data-theme="light"] .icon-badge,
html[data-theme="light"] .shortcut-icon{ background:rgba(108, 85, 158, .08); color:var(--light-text); }
html[data-theme="light"] .social-circle{ background:rgba(108,85,158,.06); color:var(--light-text); }

.hero-video-wrapper {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: 28px;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 28px;
    pointer-events: none;
}

.hero-video-overlay {
    position: absolute;
    inset: 0;
    border-radius: 28px;
    background: linear-gradient(to top, rgba(20, 10, 30, 0.55), rgba(20, 10, 30, 0.18)), linear-gradient(to left, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.05));
    z-index: 1;
}

@media (max-width: 992px){
    .hero-video-wrapper { min-height:360px; }
}
