
body {
    margin:0;
    background:#0d0d0d;
    color:white;
    font-family:Arial, sans-serif;
}

/* Thin wood accents */
#top-accent, #bottom-accent {
    height:10px;
    background:url('texture.png');
    background-size:cover;
    opacity:0.12;
}

/* HERO */
#hero {
    position:relative;
    height:360px;
    overflow:hidden;
}
#hero-bg {
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0.18;
}
#hero .overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0.8), rgba(0,0,0,0.85));
}
.hero-content {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
}
#hero-logo {
    width:300px;
    animation:float 5s ease-in-out infinite;
}
.tagline {
    margin-top:10px;
    color:#ccc;
    font-size:1.2rem;
}

@keyframes float {
    0%,100% {transform:translate(-50%,-48%);}
    50% {transform:translate(-50%,-52%);}
}

/* RADIAL MENU */
#radial-menu {
    position:fixed;
    bottom:40px;
    right:40px;
    width:150px;
    height:150px;
}
#menu-center {
    position:absolute;
    width:80px;
    height:80px;
    border-radius:50%;
    background:#111c;
    backdrop-filter:blur(12px);
    border:2px solid #e40000;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    z-index:2;
}
#menu-center img {width:48px;}

.menu-item {
    position:absolute;
    width:70px;
    height:70px;
    border-radius:50%;
    background:#222c;
    backdrop-filter:blur(15px);
    border:1px solid #e40000;
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    transform:scale(0);
    transition:0.4s;
}

#radial-menu.active .menu-item {
    opacity:1;
    transform:rotate(calc(var(--i)*72deg)) translate(110px) scale(1);
}

/* SHOWCASE */
#showcase {
    max-width:1200px;
    margin:40px auto;
    padding:10px;
}
#showcase h2 {
    font-size:2rem;
    margin-bottom:20px;
}
.spotlight {
    position:relative;
    height:180px;
    border-radius:10px;
    overflow:hidden;
    margin-bottom:20px;
}
.spotlight img {
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0.22;
}
.spotlight.placeholder {
    background:#222;
    opacity:0.7;
}
.spotlight .label {
    position:absolute;
    bottom:20px;
    left:20px;
    font-size:1.4rem;
}

/* CATEGORIES */
#categories {
    max-width:1200px;
    margin:auto;
    padding:20px;
}
#categories h2 {
    font-size:2rem;
    margin-bottom:20px;
}
.grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
    gap:20px;
}
.cat-card {
    background:#111;
    border:1px solid #333;
    border-radius:10px;
    padding:20px;
    text-align:center;
    font-size:1.3rem;
    transition:0.3s;
}
.cat-card:hover {
    border-color:#e40000;
    transform:translateY(-6px);
}

/* Footer */
footer {
    text-align:center;
    padding:30px;
}
footer img {
    width:80px;
}
