:root {
    --bg: #07080d;
    --bg-2: #11131b;
    --panel: rgba(17, 19, 27, 0.78);
    --panel-strong: rgba(20, 22, 32, 0.96);
    --text: #f6f7fb;
    --muted: #9ca6b8;
    --line: rgba(255, 255, 255, 0.12);
    --red: #ff243d;
    --red-2: #a90f22;
    --cyan: #26d9ff;
    --gold: #f5c451;
    --green: #5df2a8;
    --shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
    --radius: 8px;
    color-scheme: dark;
    font-family: "Cairo", "Segoe UI", Tahoma, Arial, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 16% 20%, rgba(255, 36, 61, 0.22), transparent 28rem),
        radial-gradient(circle at 88% 12%, rgba(38, 217, 255, 0.16), transparent 24rem),
        linear-gradient(145deg, #05060a 0%, #0d1018 42%, #07080d 100%);
    color: var(--text);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -3;
    background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.8), transparent 85%);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

.noise-layer {
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 50;
    opacity: 0.055;
    background-image: repeating-radial-gradient(circle at 0 0, rgba(255,255,255,0.9) 0 1px, transparent 1px 4px);
    mix-blend-mode: overlay;
}

.cursor-glow {
    --x: 50vw;
    --y: 50vh;
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 2;
    background: radial-gradient(circle 220px at var(--x) var(--y), rgba(255, 36, 61, 0.16), transparent 72%);
    mix-blend-mode: screen;
}

.impact-loader {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    background: #05060a;
    transition: opacity 520ms ease, visibility 520ms ease;
}

.impact-loader span {
    position: relative;
    font-size: 2.4rem;
    font-weight: 900;
    color: var(--text);
    text-shadow: 0 0 18px rgba(255,36,61,0.8), 0 0 40px rgba(38,217,255,0.34);
    animation: loaderPulse 780ms ease-in-out infinite alternate;
}

body.is-loaded .impact-loader {
    opacity: 0;
    visibility: hidden;
}

.site-header {
    position: fixed;
    top: 16px;
    left: 50%;
    z-index: 20;
    width: min(1180px, calc(100% - 28px));
    height: 70px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
    padding: 10px 12px 10px 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(7, 8, 13, 0.62);
    box-shadow: 0 18px 60px rgba(0,0,0,0.25);
    backdrop-filter: blur(16px);
    transform: translateX(-50%);
    transition: transform 320ms cubic-bezier(.2,.8,.2,1), opacity 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.site-header.is-hidden {
    transform: translate(-50%, -120%);
    opacity: 0;
}

.site-header.is-compact {
    background: rgba(7, 8, 13, 0.78);
    box-shadow: 0 18px 60px rgba(0,0,0,0.38);
}

.brand-mark {
    display: grid;
    gap: 2px;
    min-width: 168px;
}

.brand-kicker,
.eyebrow {
    color: var(--cyan);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.brand-mark strong {
    color: var(--text);
    font-size: 1.48rem;
    font-weight: 950;
    line-height: 1;
}

.brand-mark strong span {
    color: var(--red);
}

.main-nav {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 8px;
}

.main-nav a,
.filter-tab {
    display: inline-grid;
    min-height: 40px;
    place-items: center;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: var(--radius);
    color: var(--muted);
    background: transparent;
    transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.main-nav a:hover,
.filter-tab:hover,
.filter-tab.is-active {
    color: var(--text);
    border-color: rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.07);
    transform: translateY(-1px);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.icon-button,
.cart-button,
.quick-view {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: var(--radius);
    color: var(--text);
    background: rgba(255,255,255,0.07);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.icon-button:hover,
.cart-button:hover,
.quick-view:hover {
    transform: translateY(-2px);
    border-color: rgba(255,36,61,0.72);
    box-shadow: 0 0 24px rgba(255,36,61,0.25);
}

.sound-toggle {
    width: 62px;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    padding: 4px;
    font-size: 0.68rem;
    font-weight: 900;
}

.sound-toggle span {
    display: grid;
    height: 28px;
    place-items: center;
    border-radius: 6px;
    color: var(--muted);
}

.sound-enabled .sound-toggle .sound-on,
.sound-disabled .sound-toggle .sound-off {
    color: #07080d;
    background: var(--green);
}

.lang-switch {
    display: grid;
    min-width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: var(--radius);
    color: var(--text);
    background: rgba(255,255,255,0.07);
    font-weight: 950;
}

.cart-icon {
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 5px 5px;
}

.cart-icon::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 8px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--red);
    font-size: 0.72rem;
    font-weight: 900;
}

.hero-shell {
    position: relative;
    min-height: 88svh;
    padding: 132px min(6vw, 80px) 26px;
    overflow: hidden;
}

.compact-hero {
    min-height: 78svh;
}

.hero-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
}

.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.22;
    filter: saturate(1.3) contrast(1.15);
    transform: scale(1.08);
}

.hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5,6,10,0.95) 0%, rgba(5,6,10,0.72) 48%, rgba(5,6,10,0.92) 100%),
        linear-gradient(to bottom, transparent 0%, var(--bg) 100%);
}

.hero-content {
    width: min(1180px, 100%);
    min-height: 58svh;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    align-items: center;
    gap: 44px;
}

.hero-copy {
    max-width: 720px;
}

.hero-copy h1 {
    margin: 8px 0 18px;
    color: #fff;
    font-size: 5.4rem;
    line-height: 0.92;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
    text-shadow: 0 0 26px rgba(255,36,61,0.55), 0 18px 80px rgba(0,0,0,0.64);
}

.hero-lead {
    max-width: 640px;
    margin: 0;
    color: #d8deeb;
    font-size: 1.22rem;
    line-height: 1.8;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.compact-hero .hero-actions {
    margin-top: 22px;
}

.primary-cta,
.ghost-cta,
.add-to-cart,
.admin-logout,
.admin-back {
    position: relative;
    isolation: isolate;
    display: inline-grid;
    min-height: 48px;
    place-items: center;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: var(--radius);
    color: #fff;
    background: linear-gradient(135deg, var(--red), #d20e27 55%, #750615);
    box-shadow: 0 16px 42px rgba(255,36,61,0.26);
    font-weight: 900;
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.primary-cta::before,
.add-to-cart::before,
.mini-add::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
    transform: translateX(-120%);
    transition: transform 520ms ease;
}

.primary-cta:hover::before,
.add-to-cart:hover::before,
.mini-add:hover::before {
    transform: translateX(120%);
}

.primary-cta:hover,
.add-to-cart:hover,
.admin-logout:hover,
.admin-back:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 55px rgba(255,36,61,0.34);
}

.ghost-cta,
.admin-back {
    background: rgba(255,255,255,0.07);
    box-shadow: none;
}

.hero-product {
    position: relative;
    min-height: 500px;
    display: grid;
    place-items: center;
}

.hero-product img {
    width: min(92%, 390px);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--radius);
    box-shadow: var(--shadow), 0 0 70px rgba(255,36,61,0.3);
    animation: productFloat 4.2s ease-in-out infinite;
}

.product-orbit {
    position: absolute;
    width: 92%;
    max-width: 430px;
    aspect-ratio: 1 / 1;
    border: 1px solid rgba(38,217,255,0.25);
    border-radius: 50%;
    box-shadow: inset 0 0 38px rgba(38,217,255,0.12), 0 0 32px rgba(255,36,61,0.12);
    animation: rotateRing 9s linear infinite;
}

.product-orbit::before,
.product-orbit::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 18px var(--cyan);
}

.product-orbit::before {
    top: 16%;
    left: 8%;
}

.product-orbit::after {
    bottom: 20%;
    right: 6%;
    background: var(--red);
    box-shadow: 0 0 18px var(--red);
}

.hero-product-info {
    position: absolute;
    right: 0;
    bottom: 24px;
    width: min(310px, 88%);
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: var(--radius);
    background: rgba(10,12,18,0.86);
    box-shadow: var(--shadow);
    backdrop-filter: blur(14px);
}

.hero-product-info span {
    color: var(--gold);
    font-weight: 900;
    font-size: 0.8rem;
}

.hero-product-info strong {
    font-size: 1rem;
}

.mini-add {
    min-height: 42px;
    margin-top: 4px;
}

.hero-showcase {
    position: relative;
    min-height: 540px;
    display: grid;
    align-content: start;
    gap: 18px;
}

.showcase-track {
    position: relative;
    min-height: 430px;
}

.showcase-tile {
    --angle: calc((var(--tile) - 3) * 4deg);
    position: absolute;
    top: 0;
    left: 0;
    width: 168px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.06);
    box-shadow: 0 24px 70px rgba(0,0,0,0.42);
    transform: translate(var(--xpos), var(--ypos)) rotate(var(--angle));
    animation: showcaseFloat 5.5s ease-in-out infinite;
    animation-delay: calc(var(--tile) * -360ms);
}

.showcase-tile:nth-child(1) { --xpos: 28px; --ypos: 20px; width: 176px; z-index: 4; }
.showcase-tile:nth-child(2) { --xpos: 198px; --ypos: 76px; width: 150px; z-index: 3; }
.showcase-tile:nth-child(3) { --xpos: 66px; --ypos: 204px; width: 146px; z-index: 2; }
.showcase-tile:nth-child(4) { --xpos: 246px; --ypos: 214px; width: 162px; z-index: 5; }
.showcase-tile:nth-child(5) { --xpos: 0px; --ypos: 318px; width: 126px; z-index: 1; }
.showcase-tile:nth-child(6) { --xpos: 318px; --ypos: 8px; width: 126px; z-index: 1; }
.showcase-tile:nth-child(n+7) { display: none; }

.showcase-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 380ms ease;
}

.showcase-tile:hover {
    z-index: 8;
}

.showcase-tile:hover img {
    transform: scale(1.08);
}

.showcase-tile span {
    position: absolute;
    right: 8px;
    bottom: 8px;
    left: 8px;
    display: grid;
    min-height: 28px;
    place-items: center;
    border-radius: 6px;
    color: var(--text);
    background: rgba(7,8,13,0.74);
    font-size: 0.72rem;
    font-weight: 950;
    backdrop-filter: blur(8px);
}

.showcase-caption {
    position: relative;
    display: grid;
    gap: 4px;
    width: 100%;
    padding: 14px;
    border: 1px solid rgba(38,217,255,0.3);
    border-radius: var(--radius);
    background: rgba(7,8,13,0.82);
    box-shadow: var(--shadow);
    z-index: 10;
}

.showcase-caption span {
    color: var(--cyan);
    font-size: 0.76rem;
    font-weight: 950;
}

.showcase-caption strong {
    font-size: 1rem;
}

.store-stats {
    width: min(1180px, 100%);
    margin: 18px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.store-stats div {
    display: grid;
    gap: 4px;
    min-height: 88px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.055);
}

.store-stats strong {
    color: #fff;
    font-size: 1.7rem;
    line-height: 1;
}

.store-stats span {
    color: var(--muted);
    font-size: 0.88rem;
}

.drop-strip,
.shop-section,
.contact-band {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: 64px 0;
}

.section-heading {
    display: grid;
    gap: 8px;
    margin-bottom: 22px;
}

.section-heading h2,
.contact-copy h2 {
    margin: 0;
    font-size: 2.2rem;
    line-height: 1.18;
}

.featured-rail {
    display: grid;
    grid-template-columns: repeat(5, minmax(180px, 1fr));
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
}

.drop-tile {
    position: relative;
    min-height: 220px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
    scroll-snap-align: start;
    animation: dropBreath 4.8s ease-in-out infinite;
    animation-delay: var(--delay, 0ms);
}

.drop-tile img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    transition: transform 420ms ease, filter 420ms ease;
}

.drop-tile:hover img {
    transform: scale(1.08);
    filter: saturate(1.24);
}

.drop-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.82), transparent 62%);
}

.drop-tile div {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    z-index: 1;
    display: grid;
    gap: 4px;
}

.drop-tile span {
    color: var(--gold);
    font-size: 0.8rem;
    font-weight: 900;
}

.drop-tile strong {
    font-size: 1.12rem;
}

.filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

.filter-tab {
    min-width: 112px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.product-card {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.035));
    box-shadow: 0 18px 60px rgba(0,0,0,0.22);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, opacity 200ms ease;
}

.product-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at var(--mx, 50%) var(--my, 30%), rgba(255,36,61,0.25), transparent 30%);
    opacity: 0;
    transition: opacity 180ms ease;
}

.product-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255,36,61,0.55);
    box-shadow: 0 28px 80px rgba(0,0,0,0.34), 0 0 34px rgba(255,36,61,0.12);
}

.product-card:hover::before {
    opacity: 1;
}

.product-card.is-hidden {
    display: none;
}

.quick-view {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 4;
    width: 38px;
    height: 38px;
}

.quick-view span,
.close-button::before,
.close-button::after {
    position: absolute;
    content: "";
    background: currentColor;
}

.quick-view span {
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: transparent;
}

.quick-view span::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 2px;
    right: -6px;
    bottom: -3px;
    background: currentColor;
    transform: rotate(-45deg);
    transform-origin: center;
}

.product-media {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #0b0d13;
}

.product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 380ms ease;
}

.product-card:hover .product-media img {
    transform: scale(1.06);
}

.badge {
    display: inline-grid;
    min-height: 28px;
    place-items: center;
    padding: 0 10px;
    border: 1px solid rgba(245,196,81,0.38);
    border-radius: 999px;
    color: #170d02;
    background: var(--gold);
    font-size: 0.74rem;
    font-weight: 950;
}

.product-media .badge {
    position: absolute;
    right: 12px;
    top: 12px;
}

.product-body {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.category-name {
    color: var(--cyan);
    font-size: 0.78rem;
    font-weight: 900;
}

.product-body h3 {
    min-height: 52px;
    margin: 0;
    font-size: 1.16rem;
    line-height: 1.35;
}

.product-body p {
    min-height: 76px;
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
    font-size: 0.92rem;
}

.chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 28px;
}

.chips span,
.size-chip {
    display: inline-grid;
    min-width: 34px;
    min-height: 26px;
    place-items: center;
    padding: 0 8px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 6px;
    color: #cfd6e5;
    background: rgba(255,255,255,0.055);
    font-size: 0.74rem;
    font-weight: 800;
}

.size-chip {
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.size-chip:hover,
.size-chip.is-selected {
    color: #07080d;
    border-color: rgba(38,217,255,0.8);
    background: var(--cyan);
    transform: translateY(-1px);
}

.color-chips {
    min-height: 34px;
}

.color-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 9px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 999px;
    color: #d8deeb;
    background: rgba(255,255,255,0.055);
    font-size: 0.72rem;
    font-weight: 900;
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease, opacity 160ms ease;
}

.color-chip span {
    width: 15px;
    height: 15px;
    border: 1px solid rgba(255,255,255,0.42);
    border-radius: 50%;
    background: var(--swatch);
    box-shadow: 0 0 14px color-mix(in srgb, var(--swatch), transparent 45%);
}

.color-chip:hover,
.color-chip.is-selected {
    color: #fff;
    border-color: rgba(245,196,81,0.7);
    background: rgba(245,196,81,0.12);
    transform: translateY(-1px);
}

.color-chip.is-sold-out {
    opacity: 0.46;
    cursor: not-allowed;
}

.color-chip.is-sold-out::after {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: 50%;
    height: 2px;
    background: var(--red);
    transform: rotate(-12deg);
    box-shadow: 0 0 10px rgba(255,36,61,0.78);
}

.product-footer {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: end;
    gap: 10px;
}

.price-block {
    display: grid;
    gap: 2px;
}

.price-block strong,
[data-modal-price] {
    color: #fff;
    font-size: 1.22rem;
    font-weight: 950;
}

.price-block del {
    color: #777f92;
    font-size: 0.82rem;
}

.add-to-cart {
    min-width: 88px;
    min-height: 44px;
    padding: 0 16px;
}

.quick-add {
    min-width: 116px;
}

.card-buy {
    min-width: 80px;
    min-height: 44px;
    padding: 0 14px;
}

.cart-toast {
    position: fixed;
    top: 98px;
    left: 50%;
    z-index: 70;
    min-width: min(360px, calc(100% - 28px));
    padding: 12px 16px;
    border: 1px solid rgba(93,242,168,0.3);
    border-radius: var(--radius);
    color: var(--green);
    background: rgba(7,8,13,0.92);
    box-shadow: var(--shadow);
    text-align: center;
    font-weight: 900;
    opacity: 0;
    transform: translate(-50%, -18px);
    pointer-events: none;
    transition: opacity 220ms ease, transform 220ms ease;
}

.cart-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.contact-band {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
    margin-bottom: 34px;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background:
        linear-gradient(135deg, rgba(255,36,61,0.16), rgba(38,217,255,0.09)),
        rgba(255,255,255,0.04);
}

.contact-copy {
    display: grid;
    gap: 8px;
}

.contact-copy p:last-child {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.social-links,
.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.social-links a,
.footer-links a {
    display: inline-grid;
    min-height: 38px;
    place-items: center;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: var(--radius);
    color: var(--text);
    background: rgba(255,255,255,0.06);
    font-weight: 800;
}

.cart-drawer,
.product-modal {
    position: fixed;
    inset: 0;
    z-index: 60;
    pointer-events: none;
    background: rgba(0,0,0,0);
    transition: background 220ms ease;
}

.cart-drawer.is-open,
.product-modal.is-open {
    pointer-events: auto;
    background: rgba(0,0,0,0.62);
}

.drawer-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: min(440px, 100%);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 14px;
    padding: 22px;
    border-left: 1px solid var(--line);
    background: rgba(7,8,13,0.95);
    box-shadow: -28px 0 80px rgba(0,0,0,0.42);
    transform: translateX(105%);
    transition: transform 260ms cubic-bezier(.2,.8,.2,1);
}

.cart-drawer.is-open .drawer-panel {
    transform: translateX(0);
}

.drawer-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
}

.drawer-head h2 {
    margin: 4px 0 0;
    font-size: 1.8rem;
}

.close-button::before,
.close-button::after {
    width: 18px;
    height: 2px;
}

.close-button::before {
    transform: rotate(45deg);
}

.close-button::after {
    transform: rotate(-45deg);
}

.cart-items {
    display: grid;
    align-content: start;
    gap: 10px;
    overflow: auto;
    padding-left: 6px;
}

.cart-empty {
    display: grid;
    place-items: center;
    min-height: 220px;
    border: 1px dashed rgba(255,255,255,0.16);
    border-radius: var(--radius);
    color: var(--muted);
}

.cart-line {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.05);
}

.cart-line img {
    width: 72px;
    height: 72px;
    border-radius: 6px;
    object-fit: cover;
}

.cart-line strong {
    display: block;
    font-size: 0.92rem;
    line-height: 1.35;
}

.cart-line span {
    color: var(--muted);
    font-size: 0.78rem;
}

.qty-tools {
    display: grid;
    grid-template-columns: 30px 30px 30px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 6px;
}

.qty-tools button,
.qty-tools output {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 0;
    color: #fff;
    background: rgba(255,255,255,0.06);
}

.qty-tools output {
    color: var(--cyan);
    font-weight: 900;
}

.checkout-form {
    display: grid;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.checkout-form label,
.login-panel label,
.product-form label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.checkout-form input,
.checkout-form textarea,
.login-panel input,
.product-form input,
.product-form textarea,
.product-form select,
.inline-admin-form input,
.inline-admin-form select,
.staff-form input,
.staff-form select,
.payment-form select,
.credential-form input,
.modal-controls input,
.modal-controls select {
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: var(--radius);
    outline: 0;
    padding: 10px 12px;
    color: var(--text);
    background: rgba(255,255,255,0.07);
}

select option {
    color: #111827 !important;
    background: #ffffff !important;
}

.checkout-form textarea,
.product-form textarea {
    resize: vertical;
}

.checkout-form input:focus,
.checkout-form textarea:focus,
.login-panel input:focus,
.product-form input:focus,
.product-form textarea:focus,
.product-form select:focus,
.modal-controls input:focus,
.modal-controls select:focus {
    border-color: rgba(38,217,255,0.72);
    box-shadow: 0 0 0 3px rgba(38,217,255,0.12);
}

.drawer-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    color: var(--muted);
}

.drawer-total strong {
    color: #fff;
    font-size: 1.35rem;
}

.checkout-button {
    width: 100%;
}

.checkout-button[disabled] {
    opacity: 0.62;
    cursor: wait;
}

.signed-in-note {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid rgba(93,242,168,0.26);
    border-radius: var(--radius);
    color: var(--green);
    background: rgba(93,242,168,0.08);
}

.signed-in-note span {
    color: var(--muted);
}

.modal-panel {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(860px, calc(100% - 28px));
    max-height: calc(100svh - 36px);
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) 1fr;
    gap: 22px;
    padding: 16px;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(8, 10, 16, 0.96);
    box-shadow: var(--shadow);
    transform: translate(-50%, -44%) scale(0.96);
    opacity: 0;
    transition: transform 240ms ease, opacity 240ms ease;
}

.product-modal.is-open .modal-panel {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.modal-panel .close-button {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
}

.modal-image {
    display: grid;
    place-items: center;
    min-height: 360px;
    overflow: hidden;
    border-radius: var(--radius);
    background: #0d1018;
}

.modal-image img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}

.modal-copy {
    display: grid;
    align-content: center;
    gap: 14px;
    padding: 20px 8px 20px 4px;
}

.modal-copy h2 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.2;
}

.modal-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.8;
}

.modal-controls {
    display: grid;
    grid-template-columns: 1fr 1fr 110px;
    gap: 10px;
}

.modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.site-footer {
    width: min(1180px, calc(100% - 28px));
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 auto 24px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
    color: var(--muted);
}

.site-footer strong {
    color: #fff;
    font-size: 1.2rem;
}

.pro-footer {
    display: grid;
    grid-template-columns: 1.35fr 0.8fr 0.8fr;
    align-items: center;
    gap: 22px;
}

.footer-brand {
    display: grid;
    gap: 6px;
    justify-items: center;
    text-align: center;
}

.footer-credit {
    display: grid;
    gap: 6px;
    justify-items: end;
    text-align: end;
}

.footer-credit a {
    color: var(--cyan);
    font-size: 1.2rem;
    font-weight: 950;
    text-shadow: 0 0 18px rgba(38,217,255,0.35);
    transition: transform 180ms ease, color 180ms ease, text-shadow 180ms ease;
}

.footer-credit a:hover {
    color: #fff;
    transform: translateY(-2px);
    text-shadow: 0 0 24px rgba(255,36,61,0.48), 0 0 18px rgba(38,217,255,0.4);
}

.footer-social-card {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 8px;
}

.footer-social-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: var(--radius);
    color: var(--text);
    background: rgba(255,255,255,0.055);
    font-weight: 850;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.footer-social-card a:hover {
    transform: translateY(-3px);
    border-color: rgba(38,217,255,0.48);
    background: rgba(38,217,255,0.1);
}

.footer-social-card span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 7px;
    color: #07080d;
    background: var(--cyan);
    font-weight: 950;
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 520ms ease var(--delay, 0ms), transform 520ms ease var(--delay, 0ms);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.store-page.cart-active,
.store-page.modal-active {
    overflow: hidden;
}

.admin-page {
    background:
        radial-gradient(circle at 18% 12%, rgba(255,36,61,0.2), transparent 25rem),
        radial-gradient(circle at 86% 10%, rgba(38,217,255,0.14), transparent 25rem),
        var(--bg);
}

.admin-shell {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: 38px 0 56px;
}

.admin-dashboard-shell {
    width: min(1240px, calc(100% - 28px));
}

.admin-hero {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    min-height: 96px;
    margin-bottom: 16px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.055);
}

.admin-hero h1 {
    margin: 4px 0 0;
    font-size: 2.4rem;
}

.admin-top-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-workspace {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.admin-sidebar {
    position: sticky;
    top: 18px;
    min-height: calc(100svh - 36px);
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(38,217,255,0.08), rgba(255,36,61,0.06)),
        rgba(255,255,255,0.052);
    box-shadow: var(--shadow);
}

.sidebar-brand {
    display: grid;
    gap: 4px;
    padding: 12px 12px 16px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.sidebar-brand span {
    color: var(--cyan);
    font-size: 0.78rem;
    font-weight: 950;
}

.sidebar-brand strong {
    font-size: 1.3rem;
}

.admin-content-panel {
    min-width: 0;
}

.admin-tabs {
    display: grid;
    gap: 8px;
}

.admin-tabs a {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    min-height: 48px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--muted);
    font-weight: 900;
    transition: transform 180ms ease, color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.admin-tabs a span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 7px;
    color: var(--cyan);
    background: rgba(38,217,255,0.08);
    transition: background 180ms ease, color 180ms ease;
}

.admin-tabs a.is-active,
.admin-tabs a:hover {
    color: var(--text);
    border-color: rgba(38,217,255,0.38);
    background: rgba(38,217,255,0.1);
    transform: translateX(4px);
}

[dir="rtl"] .admin-tabs a.is-active,
[dir="rtl"] .admin-tabs a:hover {
    transform: translateX(-4px);
}

.admin-tabs a.is-active span,
.admin-tabs a:hover span {
    color: #07080d;
    background: var(--cyan);
}

.admin-alert {
    margin-bottom: 14px;
    padding: 13px 16px;
    border-radius: var(--radius);
    font-weight: 800;
}

.admin-alert.success {
    border: 1px solid rgba(93,242,168,0.35);
    color: var(--green);
    background: rgba(93,242,168,0.08);
}

.admin-alert.error {
    border: 1px solid rgba(255,36,61,0.35);
    color: #ff8d9c;
    background: rgba(255,36,61,0.08);
}

.login-panel,
.product-editor,
.product-table-wrap,
.admin-card {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.055);
    box-shadow: var(--shadow);
}

.login-panel {
    width: min(430px, 100%);
    display: grid;
    gap: 14px;
    margin: 70px auto 0;
    padding: 20px;
}

.admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
    gap: 16px;
    align-items: start;
}

.product-editor,
.product-table-wrap,
.security-panel,
.admin-card {
    padding: 18px;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.metric-grid article {
    display: grid;
    gap: 8px;
    min-height: 112px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.055);
}

.metric-grid span {
    color: var(--muted);
    font-weight: 800;
}

.metric-grid strong {
    color: #fff;
    font-size: 1.6rem;
}

.command-metrics .metric-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.command-metrics .metric-card::before {
    content: "";
    position: absolute;
    inset: -45% auto auto -20%;
    z-index: -1;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(38,217,255,0.14);
    filter: blur(18px);
    animation: metricGlow 5s ease-in-out infinite;
}

.command-metrics .metric-card.pending::before {
    background: rgba(255,36,61,0.18);
}

.command-metrics .metric-card.revenue::before {
    background: rgba(93,242,168,0.16);
}

.metric-card em {
    color: var(--muted);
    font-style: normal;
    font-size: 0.82rem;
    font-weight: 800;
}

.overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.alert-card,
.celebration-card {
    position: relative;
    overflow: hidden;
}

.alert-card {
    border-color: rgba(255,36,61,0.28);
    background:
        radial-gradient(circle at 15% 12%, rgba(255,36,61,0.2), transparent 16rem),
        rgba(255,255,255,0.045);
}

.alarm-light {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--red);
    box-shadow: 0 0 0 0 rgba(255,36,61,0.78), 0 0 22px rgba(255,36,61,0.9);
    animation: alarmPulse 1s ease-in-out infinite;
}

.stock-alert-list,
.trophy-list {
    display: grid;
    gap: 10px;
}

.stock-alert-list article,
.trophy-row,
.invoice-mini {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.045);
}

.stock-alert-list article span {
    color: #ff9aaa;
    font-size: 0.84rem;
    font-weight: 800;
}

.celebration-card {
    background:
        radial-gradient(circle at 88% 8%, rgba(245,196,81,0.2), transparent 15rem),
        radial-gradient(circle at 8% 12%, rgba(38,217,255,0.12), transparent 16rem),
        rgba(255,255,255,0.045);
}

.celebration-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 30%, rgba(245,196,81,0.75) 0 2px, transparent 3px),
        radial-gradient(circle at 74% 20%, rgba(38,217,255,0.75) 0 2px, transparent 3px),
        radial-gradient(circle at 62% 74%, rgba(255,36,61,0.72) 0 2px, transparent 3px);
    animation: confettiDrift 4s ease-in-out infinite;
    opacity: 0.38;
}

.trophy-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.rank {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    color: #170d02;
    background: var(--gold);
    font-weight: 950;
    box-shadow: 0 0 18px rgba(245,196,81,0.34);
}

.recent-orders-card {
    margin-top: 16px;
}

.admin-search-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.035);
}

.admin-search-panel .primary-cta,
.admin-search-panel .ghost-cta {
    min-height: 46px;
}

.admin-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.admin-section-head h2 {
    margin: 0;
    font-size: 1.42rem;
}

.admin-section-head a,
.admin-section-head span {
    color: var(--cyan);
    font-weight: 900;
}

.product-form,
.credential-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.credential-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
}

.credential-form .primary-cta {
    width: 100%;
}

.span-2 {
    grid-column: 1 / -1;
}

.check-row {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.check-row input {
    width: 18px;
    min-height: 18px;
}

.admin-preview {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--muted);
    background: rgba(255,255,255,0.045);
    overflow: hidden;
}

.admin-preview img {
    width: 58px;
    height: 58px;
    border-radius: 6px;
    object-fit: cover;
}

.product-table {
    display: grid;
    gap: 10px;
}

.inline-admin-form,
.staff-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
}

.inline-admin-form.compact {
    grid-template-columns: 0.8fr 1fr 1fr auto auto;
    margin: 0;
}

.inline-admin-form button,
.staff-form button,
.payment-form button,
.category-row button,
.role-card button,
.staff-row button {
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 6px;
    color: #fff;
    background: rgba(255,255,255,0.08);
    font-weight: 900;
}

.category-list,
.invoice-list,
.customer-list,
.sales-list,
.role-grid {
    display: grid;
    gap: 10px;
}

.category-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.04);
}

.invoice-row,
.staff-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.045);
}

.invoice-row-wide {
    grid-template-columns: 1fr 1fr auto auto;
}

.invoice-card {
    grid-template-columns: 1fr 1fr auto auto;
}

.invoice-lines {
    grid-column: 1 / -1;
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.invoice-lines summary {
    color: var(--cyan);
    cursor: pointer;
    font-weight: 900;
}

.invoice-lines div,
.customer-invoices .invoice-mini {
    margin-top: 8px;
}

.invoice-lines div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: var(--muted);
}

.customer-detail-card {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.045);
    overflow: hidden;
    transition: border-color 180ms ease, transform 180ms ease, background 180ms ease;
}

.customer-detail-card:hover {
    transform: translateY(-2px);
    border-color: rgba(38,217,255,0.34);
    background: rgba(38,217,255,0.055);
}

.customer-summary {
    display: grid;
    grid-template-columns: 1fr 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    cursor: pointer;
}

.customer-summary::marker {
    color: var(--cyan);
}

.customer-summary strong,
.customer-summary span {
    display: block;
}

.customer-summary span,
.invoice-mini span {
    color: var(--muted);
    font-size: 0.84rem;
}

.customer-invoices {
    display: grid;
    gap: 8px;
    padding: 0 14px 14px;
}

.invoice-mini {
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.invoice-row strong,
.staff-row strong {
    display: block;
}

.invoice-row span,
.staff-row span {
    display: block;
    color: var(--muted);
    font-size: 0.84rem;
}

.payment-form {
    display: grid;
    grid-template-columns: 120px auto;
    gap: 8px;
}

.status-pill {
    display: inline-grid;
    min-height: 32px;
    place-items: center;
    padding: 0 10px;
    border-radius: 999px;
    font-weight: 950;
}

.status-pill.pending {
    color: var(--gold);
    background: rgba(245,196,81,0.12);
}

.status-pill.paid {
    color: var(--green);
    background: rgba(93,242,168,0.12);
}

.role-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.role-create-form {
    display: grid;
    grid-template-columns: minmax(160px, 0.7fr) minmax(160px, 0.7fr) minmax(0, 1.6fr) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.035);
}

.permission-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.permission-picker.compact {
    gap: 6px;
}

.permission-token {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    cursor: pointer;
}

.permission-token input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.permission-token span {
    display: inline-grid;
    min-height: 34px;
    place-items: center;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 999px;
    color: var(--muted);
    background: rgba(255,255,255,0.055);
    font-size: 0.82rem;
    font-weight: 900;
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.permission-token:hover span,
.permission-token input:checked + span,
.permission-token.locked span {
    color: #07080d;
    border-color: rgba(38,217,255,0.72);
    background: var(--cyan);
    transform: translateY(-1px);
}

.role-card {
    display: grid;
    gap: 10px;
    min-height: 150px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.045);
}

.role-card {
    background:
        linear-gradient(145deg, rgba(38,217,255,0.06), rgba(255,36,61,0.05)),
        rgba(255,255,255,0.045);
}

.role-card h3 {
    margin: 0;
}

.role-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.staff-form select[multiple] {
    min-height: 92px;
}

.staff-edit-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: stretch;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.045);
}

.staff-edit-form {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin: 0;
}

.delete-inline {
    display: grid;
    align-content: end;
}

.role-edit-form {
    display: grid;
    gap: 10px;
}

.role-edit-form input,
.role-edit-form select {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: var(--radius);
    outline: 0;
    padding: 10px 12px;
    color: var(--text);
    background: rgba(255,255,255,0.07);
}

.role-edit-form select {
    min-height: 118px;
}

.color-stock-builder {
    padding: 12px;
    border: 1px solid rgba(38,217,255,0.16);
    border-radius: var(--radius);
    background: rgba(38,217,255,0.045);
}

.compact-head {
    margin-bottom: 10px;
}

.compact-head h3 {
    margin: 0;
    font-size: 1rem;
}

.color-stock-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.color-stock-field {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    background: rgba(255,255,255,0.045);
}

.security-center {
    background:
        linear-gradient(135deg, rgba(38,217,255,0.08), rgba(255,36,61,0.08)),
        rgba(255,255,255,0.045);
}

.account-shell {
    width: min(980px, calc(100% - 28px));
    margin: 0 auto;
    padding: 126px 0 60px;
}

.account-hero {
    margin-bottom: 18px;
}

.account-hero h1 {
    margin: 6px 0 0;
    font-size: 3rem;
}

.account-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.account-panel {
    width: 100%;
    margin: 0;
}

.account-panel h2 {
    margin: 0;
}

.customer-dashboard,
.customer-card {
    display: grid;
    gap: 16px;
}

.customer-card {
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.055);
}

.customer-card h2,
.customer-card p {
    margin: 0;
}

.customer-card p {
    color: var(--muted);
}

.security-panel {
    display: grid;
    gap: 12px;
    margin-top: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.04);
}

.security-panel h2 {
    margin: 0;
    font-size: 1.22rem;
}

.admin-product-row {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.045);
}

.admin-product-row img {
    width: 58px;
    height: 58px;
    border-radius: 6px;
    object-fit: cover;
}

.admin-product-row strong,
.admin-product-row span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-product-row span {
    color: var(--muted);
    font-size: 0.82rem;
}

.admin-product-row a,
.admin-product-row button {
    display: grid;
    min-width: 58px;
    min-height: 36px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 6px;
    color: #fff;
    background: rgba(255,255,255,0.07);
}

.admin-product-row button {
    color: #ff8d9c;
}

@keyframes loaderPulse {
    from {
        transform: scale(0.96);
        opacity: 0.72;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes productFloat {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-14px) rotate(-1deg);
    }
}

@keyframes rotateRing {
    to {
        transform: rotate(360deg);
    }
}

@keyframes showcaseFloat {
    0%,
    100% {
        translate: 0 0;
    }
    50% {
        translate: 0 -12px;
    }
}

@keyframes dropBreath {
    0%,
    100% {
        transform: translateY(0);
        box-shadow: 0 18px 60px rgba(0,0,0,0.22);
    }
    50% {
        transform: translateY(-6px);
        box-shadow: 0 28px 78px rgba(0,0,0,0.32), 0 0 24px rgba(38,217,255,0.1);
    }
}

@keyframes metricGlow {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.7;
    }
    50% {
        transform: translate(20px, 18px) scale(1.18);
        opacity: 1;
    }
}

@keyframes alarmPulse {
    0%,
    100% {
        opacity: 0.45;
        box-shadow: 0 0 0 0 rgba(255,36,61,0.72), 0 0 16px rgba(255,36,61,0.7);
    }
    50% {
        opacity: 1;
        box-shadow: 0 0 0 12px rgba(255,36,61,0), 0 0 32px rgba(255,36,61,0.95);
    }
}

@keyframes confettiDrift {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(8px);
    }
}

@media (max-width: 980px) {
    .site-header {
        grid-template-columns: 1fr auto;
        height: auto;
        min-height: 68px;
    }

    .main-nav {
        display: none;
    }

    .hero-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .hero-copy h1 {
        font-size: 4rem;
    }

    .hero-product {
        min-height: 410px;
    }

    .featured-rail,
    .product-grid,
    .admin-layout,
    .metric-grid,
    .overview-grid,
    .role-grid,
    .account-grid {
        grid-template-columns: 1fr 1fr;
    }

    .contact-band,
    .modal-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .site-header {
        top: 10px;
        width: calc(100% - 16px);
        padding: 9px;
    }

    .brand-mark {
        min-width: 0;
    }

    .brand-kicker {
        display: none;
    }

    .brand-mark strong {
        font-size: 1.25rem;
    }

    .sound-toggle {
        display: none;
    }

    .hero-shell {
        min-height: auto;
        padding: 112px 14px 24px;
    }

    .hero-copy h1 {
        font-size: 3rem;
        line-height: 1;
    }

    .hero-lead {
        font-size: 1rem;
        line-height: 1.75;
    }

    .hero-actions,
    .product-footer {
        grid-template-columns: 1fr;
    }

    .primary-cta,
    .ghost-cta,
    .add-to-cart {
        width: 100%;
    }

    .hero-product {
        min-height: 350px;
    }

    .hero-product-info {
        right: 12px;
        bottom: 12px;
    }

    .featured-rail,
    .product-grid,
    .admin-layout,
    .product-form,
    .credential-form,
    .metric-grid,
    .overview-grid,
    .role-grid,
    .account-grid,
    .inline-admin-form,
    .inline-admin-form.compact,
    .staff-form,
    .role-create-form,
    .admin-search-panel,
    .customer-summary,
    .invoice-mini,
    .color-stock-grid,
    .staff-edit-form,
    .staff-edit-card,
    .category-row,
    .invoice-row,
    .invoice-row-wide,
    .customer-card {
        grid-template-columns: 1fr;
    }

    .section-heading h2,
    .contact-copy h2 {
        font-size: 1.7rem;
    }

    .filter-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filter-tab {
        width: 100%;
        min-width: 0;
    }

    .product-body h3,
    .product-body p {
        min-height: 0;
    }

    .drawer-panel {
        padding: 16px;
    }

    .modal-panel {
        padding: 12px;
    }

    .modal-image,
    .modal-image img {
        min-height: 280px;
    }

    .modal-copy h2 {
        font-size: 1.5rem;
    }

    .modal-controls {
        grid-template-columns: 1fr;
    }

    .site-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-credit {
        justify-items: start;
        text-align: start;
    }

    .admin-hero {
        grid-template-columns: 1fr;
    }

    .admin-product-row {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .admin-product-row a,
    .admin-product-row form {
        grid-column: span 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 1ms !important;
        scroll-behavior: auto !important;
        transition-duration: 1ms !important;
    }
}

.hero-showcase {
    align-content: start;
}

.showcase-track {
    order: 1;
}

.showcase-caption {
    order: 2;
    width: min(560px, 100%);
    justify-self: center;
    margin-top: -6px;
    padding: 18px 20px;
    border-color: rgba(38,217,255,0.46);
    background:
        linear-gradient(135deg, rgba(38,217,255,0.08), rgba(255,36,61,0.06)),
        rgba(7,8,13,0.88);
    box-shadow: 0 24px 70px rgba(0,0,0,0.42), 0 0 24px rgba(38,217,255,0.12);
}

.showcase-caption::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(38,217,255,0.5), transparent);
    opacity: 0.38;
}

.showcase-caption span {
    font-size: 0.86rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.showcase-caption strong {
    font-size: clamp(1.24rem, 2.2vw, 1.7rem);
    line-height: 1.25;
    color: #fff;
}

.lang-en .showcase-caption strong {
    font-size: 0;
}

.lang-en .showcase-caption strong::after {
    content: "The fight gear academy athletes choose again and again";
    font-size: clamp(1.24rem, 2.2vw, 1.7rem);
    line-height: 1.25;
}

.pro-footer {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 0 26px;
}

.footer-contact-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.footer-contact-row a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: var(--radius);
    color: var(--text);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.035));
    font-weight: 950;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.footer-contact-row a:hover {
    transform: translateY(-3px);
    border-color: rgba(38,217,255,0.58);
    background: rgba(38,217,255,0.1);
    box-shadow: 0 16px 38px rgba(38,217,255,0.12);
}

.platform-icon {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px;
    color: #07080d;
    background: var(--cyan);
    font-weight: 950;
    box-shadow: 0 0 16px rgba(38,217,255,0.34);
}

.platform-icon svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.platform-icon.facebook { background: #1877f2; color: #fff; }
.platform-icon.instagram { color: #fff; background: linear-gradient(135deg, #feda75, #d62976, #4f5bd5); }
.platform-icon.whatsapp { background: #25d366; }
.platform-icon.phone { background: var(--cyan); }
.platform-icon.admin { background: var(--gold); }

.footer-divider {
    position: relative;
    width: min(760px, 100%);
    height: 1px;
    justify-self: center;
    background: linear-gradient(90deg, transparent, rgba(38,217,255,0.46), rgba(255,36,61,0.42), transparent);
}

.footer-divider::after {
    content: "";
    position: absolute;
    top: -3px;
    left: 50%;
    width: 82px;
    height: 7px;
    border-radius: 999px;
    background: rgba(38,217,255,0.58);
    filter: blur(8px);
    transform: translateX(-50%);
}

.footer-signature {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 28px;
}

.footer-signature::before {
    content: "";
    width: 1px;
    height: 56px;
    grid-column: 2;
    grid-row: 1;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.26), transparent);
}

.footer-brand {
    justify-items: end;
    text-align: end;
}

.footer-credit {
    grid-column: 3;
    justify-items: start;
    text-align: start;
}

.footer-credit a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gotic-mark {
    width: 20px;
    height: 20px;
    object-fit: contain;
    border-radius: 5px;
    box-shadow: 0 0 14px rgba(38,217,255,0.32);
}

.admin-sidebar .sidebar-brand {
    color: inherit;
    text-decoration: none;
    border-radius: 8px;
    transition: background 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.admin-sidebar .sidebar-brand:hover {
    background: rgba(38,217,255,0.08);
    transform: translateY(-2px);
}

.alert-card {
    min-height: 340px;
    border-color: rgba(255,36,61,0.72);
    background:
        radial-gradient(circle at 88% 10%, rgba(255,36,61,0.34), transparent 9rem),
        radial-gradient(circle at 28% 16%, rgba(255,255,255,0.14), transparent 11rem),
        linear-gradient(145deg, rgba(154,16,27,0.88), rgba(52,8,14,0.92));
    box-shadow:
        0 0 0 1px rgba(255,36,61,0.18),
        0 0 36px rgba(255,36,61,0.32),
        inset 0 0 32px rgba(255,255,255,0.05);
    animation: inventoryCardAlarm 1.35s ease-in-out infinite;
}

.alert-card .admin-section-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: start;
}

.alert-card .eyebrow {
    color: #ffd9de;
}

.alert-card h2 {
    color: #fff5f7;
    font-size: clamp(2rem, 4vw, 3rem);
    text-shadow: 0 0 18px rgba(255,255,255,0.24);
}

.alarm-light {
    width: 34px;
    height: 34px;
    border: 6px solid rgba(255,255,255,0.12);
    background: #ff2b44;
    box-shadow:
        0 0 0 10px rgba(255,36,61,0.16),
        0 0 34px rgba(255,36,61,0.95),
        0 0 80px rgba(255,36,61,0.42);
    animation: alarmPulse 0.72s ease-in-out infinite;
}

.stock-alert-list article {
    min-height: 72px;
    border-color: rgba(255,255,255,0.2);
    background:
        linear-gradient(90deg, rgba(255,255,255,0.09), rgba(255,255,255,0.035)),
        rgba(7,8,13,0.22);
    box-shadow: inset 0 0 18px rgba(255,255,255,0.035);
}

.stock-alert-list article strong {
    color: #fff;
    font-size: 1.05rem;
}

.stock-alert-list article span {
    color: #ffd3dc;
    font-size: 0.96rem;
    font-weight: 950;
}

.staff-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.staff-permission-grid {
    grid-column: span 2;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 44px;
    max-height: 112px;
    overflow: auto;
    padding: 8px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius);
    background: rgba(255,255,255,0.045);
    scrollbar-color: rgba(38,217,255,0.55) rgba(255,255,255,0.07);
}

.staff-permission-grid.compact {
    grid-column: span 2;
}

.staff-permission-grid::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.staff-permission-grid::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.07);
    border-radius: 999px;
}

.staff-permission-grid::-webkit-scrollbar-thumb {
    background: linear-gradient(var(--cyan), var(--red));
    border-radius: 999px;
}

.staff-permission-grid .permission-token span {
    min-height: 30px;
    padding: 0 9px;
    font-size: 0.76rem;
}

@keyframes inventoryCardAlarm {
    0%,
    100% {
        box-shadow:
            0 0 0 1px rgba(255,36,61,0.18),
            0 0 24px rgba(255,36,61,0.22),
            inset 0 0 32px rgba(255,255,255,0.05);
    }
    50% {
        box-shadow:
            0 0 0 1px rgba(255,36,61,0.62),
            0 0 62px rgba(255,36,61,0.58),
            inset 0 0 48px rgba(255,255,255,0.11);
    }
}

@media (max-width: 680px) {
    .footer-signature {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }

    .footer-signature::before {
        display: none;
    }

    .footer-brand,
    .footer-credit {
        grid-column: auto;
        justify-items: center;
        text-align: center;
    }

    .staff-permission-grid,
    .staff-permission-grid.compact {
        grid-column: auto;
    }
}

@media (max-width: 980px) {
    .admin-workspace {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .hero-showcase {
        min-height: 410px;
    }

    .showcase-track {
        transform: scale(0.86);
        transform-origin: center top;
    }
}

@media (max-width: 680px) {
    .admin-workspace,
    .pro-footer,
    .modal-actions {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        position: relative;
        top: auto;
        min-height: auto;
    }

    .admin-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-showcase {
        min-height: 350px;
        overflow: hidden;
    }

    .showcase-track {
        min-height: 350px;
        transform: scale(0.74) translateX(-24px);
        transform-origin: center top;
    }

    [dir="rtl"] .showcase-track {
        transform: scale(0.74) translateX(24px);
    }

    .showcase-caption {
        right: 12px;
        left: 12px;
        width: auto;
    }

    .footer-social-card {
        justify-content: start;
    }
}

.hero-showcase .showcase-caption {
    right: auto;
    left: auto;
}

.site-footer.pro-footer {
    display: grid;
    align-items: stretch;
}

@media (max-width: 680px) {
    .hero-showcase .showcase-caption {
        width: min(100%, 560px);
        justify-self: center;
    }

    .site-footer.pro-footer {
        align-items: stretch;
    }

    .footer-contact-row {
        justify-content: center;
    }
}
