/* ============================================================
   FLY EMPERIUM — site.css
   Supplementary styles for specific page components.
   main.css handles the base theme, layout, nav, footer.
   ============================================================ */

/* ── Download button (used by old download table if kept) ──── */
a.download {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--primary-yellow), var(--dark-yellow));
    border-radius: var(--radius-sm);
    position: relative;
    transition: all var(--transition-normal);
    box-shadow: var(--shadow-sm);
    text-decoration: none;
}
a.download::before {
    content: '↓';
    color: #0d0d0d;
    font-size: 18px;
    font-weight: 700;
}
a.download:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-yellow);
    filter: brightness(1.1);
}

/* ── Shop — item grid & cards ──────────────────────────────── */
.shop_list {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
    margin: 0 0 2rem;
}
.shop_list .item {
    position: relative;
    background: #111;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    overflow: hidden;
    cursor: pointer;
    transition: transform .25s, border-color .25s, box-shadow .25s;
    display: flex;
    flex-direction: column;
}
.shop_list .item::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-yellow), var(--orange-accent), transparent);
    opacity: 0;
    transition: opacity .2s;
}
.shop_list .item:hover { transform: translateY(-4px); border-color: var(--border-mid); box-shadow: 0 10px 30px rgba(255,184,0,.12); }
.shop_list .item:hover::before { opacity: 1; }
.shop_list .item #icon {
    display: block; width: 64px; height: 64px;
    object-fit: contain;
    margin: 1.25rem auto 0;
    padding: 8px;
    background: #0a0800;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-mid);
    transition: transform .25s;
    float: none;
}
.shop_list .item:hover #icon { transform: scale(1.08); }
.shop_list .item h3 {
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #e8c87a;
    margin: .65rem 1rem 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.shop_list .item table { width: calc(100% - 2rem); margin: .4rem 1rem .75rem; }
.shop_list .item table td { padding: .15rem 0; border: none; font-size: 11px; color: var(--text-muted); font-family: var(--font-ui); }
.shop_list .item table img { width: 13px; height: 13px; margin-right: 4px; vertical-align: middle; }

/* Item detail panel */
.shop_itmdetail {
    width: 100%;
    margin-bottom: 1.5rem;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--border-color);
}
.shop_itmdetail .head {
    padding: 1rem 1.5rem;
    background: linear-gradient(135deg, #150f00, #0d0d0d);
    border-bottom: 2px solid var(--primary-yellow);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--primary-yellow);
}
.shop_itmdetail .details {
    padding: 1.5rem;
    background: #111;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.7;
    font-family: var(--font-ui);
}
.shop_itmdetail .details #icon {
    width: 80px; height: 80px;
    float: left;
    margin-right: 1.25rem; margin-bottom: .75rem;
    background: #0a0800;
    border-radius: var(--radius-sm);
    padding: 10px;
    border: 1px solid var(--border-mid);
}
.shop_itmdetail .details #quickinfo {
    margin: 1rem 0;
    padding: .875rem 1rem;
    background: rgba(255,184,0,.04);
    border-left: 2px solid var(--primary-yellow);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    font-size: 12px;
}

/* Basket info */
#basketinfo {
    padding: 1.25rem;
    background: rgba(255,184,0,.05);
    border: 1px solid rgba(255,184,0,.2);
    border-left: 3px solid var(--primary-yellow);
    border-radius: var(--radius-md);
    margin-bottom: 1.5rem;
}
#basketinfo form { display: inline-block; margin-top: .75rem; }

/* Shop pagination */
.shop_list span#page { display: inline-block; margin: .2rem; }
.shop_list span#page a,
.shop_list span#page b {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    border-radius: var(--radius-sm);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 12px;
    transition: all .2s;
    border: 1px solid var(--border-color);
    background: #111;
    color: var(--text-muted);
    text-decoration: none;
}
.shop_list span#page a:hover {
    background: rgba(255,184,0,.08);
    border-color: rgba(255,184,0,.4);
    color: var(--primary-yellow);
}
.shop_list span#page b {
    background: linear-gradient(135deg, var(--primary-yellow), var(--dark-yellow));
    color: #0d0d0d;
    border-color: transparent;
    box-shadow: 0 2px 10px rgba(255,184,0,.25);
}

/* Shop modal overrides (modal built in shop.php inline CSS) */
.shop-msg.error { color: var(--error); }
.shop-msg.success { color: var(--success); }

/* ── Scrollbar ──────────────────────────────────────────────── */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a0a0a; }
::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, var(--primary-yellow), var(--dark-yellow));
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, var(--light-yellow), var(--primary-yellow));
}

/* ── Fade-in utility ────────────────────────────────────────── */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeIn .45s ease both; }

/* ── Responsive shop grid ───────────────────────────────────── */
@media (max-width: 768px) {
    .shop_list { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
    .shop_itmdetail .details #icon { float: none; margin: 0 auto 1rem; display: block; }
}
@media (max-width: 420px) {
    .shop_list { grid-template-columns: 1fr; }
}