:root{
  --bg:#07090d;--bg2:#0c111b;--panel:#121826;--panel2:#192235;--glass:rgba(18,24,38,.78);
  --text:#f4f7fb;--muted:#95a0b4;--soft:#c7cfdd;--accent:#d6a84f;--accent2:#f2d181;
  --danger:#ff5f6d;--ok:#6fe3a1;--info:#65b7ff;--border:rgba(255,255,255,.09);
  --shadow:0 22px 70px rgba(0,0,0,.42);--radius:22px;--side:282px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(214,168,79,.15),transparent 28%),radial-gradient(circle at 85% 10%,rgba(101,183,255,.12),transparent 24%),linear-gradient(135deg,var(--bg),#0c1018 45%,#090b10);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;min-height:100vh}.bg-noise{position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 88%)}
a{color:inherit}.app-shell{padding-left:var(--side)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--side);padding:18px;background:linear-gradient(180deg,rgba(13,17,27,.96),rgba(9,11,17,.98));border-right:1px solid var(--border);box-shadow:var(--shadow);z-index:20;overflow-y:auto}.brand-block{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:18px;padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--border)}.brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#8f6420);color:#160f05;font-weight:1000;font-size:26px;box-shadow:0 12px 26px rgba(214,168,79,.18)}.brand-block strong{display:block;color:var(--accent2);font-size:20px;letter-spacing:.3px}.brand-block small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#687286;margin:18px 10px 8px}.nav-link{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--soft);padding:10px 12px;border-radius:14px;margin:3px 0;border:1px solid transparent;transition:.18s ease}.nav-link span{font-size:18px;width:23px;text-align:center}.nav-link em{font-style:normal;font-weight:700;font-size:14px}.nav-link:hover,.nav-link.active{background:rgba(214,168,79,.12);border-color:rgba(214,168,79,.22);color:#fff;transform:translateX(3px)}.mobile-menu{display:none;position:fixed;top:12px;left:12px;z-index:40;background:var(--accent);color:#140f07;border:0;border-radius:12px;padding:10px 13px;font-weight:900}.page-wrap{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;background:rgba(8,11,17,.72);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.eyebrow{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em}.top-title{font-size:24px;font-weight:950}.top-title span{font-size:13px;color:#18120a;background:var(--accent);padding:4px 9px;border-radius:999px;margin-left:8px;vertical-align:middle}.top-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.mini-stat{background:rgba(255,255,255,.055);border:1px solid var(--border);border-radius:16px;padding:10px 12px;min-width:124px}.mini-stat span{display:block;color:var(--muted);font-size:11px}.mini-stat strong{display:block;font-size:15px;color:#fff}.mini-bars{min-width:170px}.mini-bars label{display:flex;justify-content:space-between;margin:2px 0 4px;color:var(--muted);font-size:11px}.mini-bars i{display:block;height:7px;border-radius:999px;background:#0c111a;overflow:hidden;border:1px solid var(--border);margin-bottom:5px}.mini-bars u{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}.mini-bars i.danger u{background:linear-gradient(90deg,#ffb55f,var(--danger))}.logout-link,.guest-topbar nav a{border:1px solid var(--border);border-radius:14px;text-decoration:none;padding:10px 12px;color:var(--soft);background:rgba(255,255,255,.045);font-weight:800}.logout-link:hover,.guest-topbar nav a:hover{background:rgba(214,168,79,.14);color:#fff}.container{max-width:1220px;margin:0 auto;padding:28px}.guest-container{max-width:1050px}.guest-topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 28px}.brand{font-size:26px;color:var(--accent2);font-weight:1000;text-decoration:none}.guest-topbar nav{display:flex;gap:10px}h1{font-size:clamp(32px,4vw,54px);line-height:1;margin:0 0 20px;letter-spacing:-.04em}h2,h3{letter-spacing:-.02em}p{color:var(--soft);line-height:1.65}.hero-card{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(135deg,rgba(214,168,79,.18),rgba(25,34,53,.88)),url('../img/oslo-night.svg') center/cover;border:1px solid var(--border);box-shadow:var(--shadow);padding:34px;margin-bottom:22px}.hero-card:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(242,209,129,.28),transparent 68%)}.hero-card>*{position:relative;z-index:1}.hero-card .lead{max-width:720px;font-size:17px;color:#e8edf6}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.card{background:linear-gradient(180deg,rgba(25,34,53,.86),rgba(16,22,35,.92));border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 16px 42px rgba(0,0,0,.24);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 30%);pointer-events:none}.card>*{position:relative}.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}.stat{font-size:28px;font-weight:1000;letter-spacing:-.03em}.stat-card{min-height:128px}.stat-card .icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(214,168,79,.14);border:1px solid rgba(214,168,79,.18);font-size:22px;margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:5px 10px;color:var(--soft);background:rgba(255,255,255,.045);font-weight:800;font-size:12px}.btn,button{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#171006;border:0;border-radius:14px;padding:11px 15px;font-weight:950;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 28px rgba(214,168,79,.16);transition:.16s ease}.btn:hover,button:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn.secondary{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--border);box-shadow:none}.btn.danger{background:linear-gradient(135deg,#ff7c86,var(--danger));color:#fff}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.action-card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;border-radius:22px;padding:18px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025));transition:.18s ease}.action-card:hover{transform:translateY(-3px);border-color:rgba(214,168,79,.35);box-shadow:0 18px 45px rgba(0,0,0,.28)}.action-card .big-icon{font-size:31px}.action-card strong{display:block;font-size:18px;margin-top:8px}.action-card small{color:var(--muted);line-height:1.4}.progress{height:12px;background:#0d121c;border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.progress.danger span{background:linear-gradient(90deg,#ffb45f,var(--danger))}.progress.ok span{background:linear-gradient(90deg,#39c982,var(--ok))}.flash{padding:14px 16px;border-radius:16px;margin-bottom:18px;background:rgba(255,255,255,.06);border:1px solid var(--border);box-shadow:0 12px 32px rgba(0,0,0,.18);font-weight:800}.flash.success{border-color:rgba(111,227,161,.45);background:rgba(111,227,161,.09)}.flash.error{border-color:rgba(255,95,109,.45);background:rgba(255,95,109,.09)}input,select,textarea{width:100%;max-width:480px;padding:12px 13px;border-radius:14px;border:1px solid var(--border);background:#0c111b;color:var(--text);margin:6px 0 12px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:rgba(214,168,79,.55);box-shadow:0 0 0 4px rgba(214,168,79,.1)}label{display:block;margin:10px 0;color:var(--soft);font-weight:750}table{width:100%;border-collapse:separate;border-spacing:0;background:rgba(18,24,38,.75);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.2)}th,td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left}tr:last-child td{border-bottom:0}th{color:var(--accent2);background:rgba(255,255,255,.045);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.slot{font-size:42px;letter-spacing:10px}.item{border-top:1px solid var(--border);padding:14px 0}.item:first-child{border-top:0}.small-form{display:inline-block;margin:4px 6px 4px 0}.small-form input{max-width:160px}.plant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.plant-stat{font-size:32px;font-weight:1000;color:var(--accent2)}.plantation-meter{height:14px;background:#0f1320;border:1px solid var(--border);border-radius:999px;overflow:hidden;max-width:420px}.plantation-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0}.danger-text{color:var(--danger);font-weight:900}.ok-text{color:var(--ok);font-weight:900}.footer{text-align:center;color:var(--muted);padding:28px}.quick-row{display:flex;gap:10px;flex-wrap:wrap}.city-tag{display:inline-flex;gap:7px;align-items:center;color:var(--soft);background:rgba(101,183,255,.1);border:1px solid rgba(101,183,255,.2);border-radius:999px;padding:6px 10px;font-weight:800}.status-list{display:grid;gap:13px}.status-line{display:grid;gap:6px}.status-line label{margin:0;display:flex;justify-content:space-between;font-size:13px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.kpi{padding:14px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid var(--border)}.kpi span{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:22px;margin-top:4px}
@media(max-width:900px){.app-shell{padding-left:0}.mobile-menu{display:block}.sidebar{transform:translateX(-105%);transition:.2s ease}.sidebar.open{transform:translateX(0)}.topbar{padding:62px 16px 16px;align-items:flex-start}.container{padding:18px}.top-stats{justify-content:flex-start}.hero-card{padding:24px;border-radius:24px}.grid.two{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{display:block}.mini-stat{min-width:100%;}.mini-bars{width:100%;}.top-stats{margin-top:12px}.action-grid{grid-template-columns:1fr}table{display:block;overflow-x:auto}.guest-topbar{display:block}.guest-topbar nav{margin-top:12px}.stat{font-size:24px}}


/* V8 automatiske hero-bilder for hovedfunksjoner */
.feature-hero{
  position:relative;
  width:100%;
  margin:0 0 24px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 70px rgba(0,0,0,.42);
  background:#07090d;
  min-height:210px;
}
.feature-hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(7,9,13,.22),transparent 50%,rgba(7,9,13,.16));
}
.feature-hero img{
  display:block;
  width:100%;
  height:clamp(190px,24vw,330px);
  object-fit:cover;
  object-position:center;
}
@media(max-width:700px){
  .feature-hero{border-radius:18px;margin-bottom:18px;min-height:150px}
  .feature-hero img{height:170px}
}

/* V9 Rank-system */
.rank-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:16px;
    background:linear-gradient(135deg, rgba(251,211,107,.16), rgba(22,31,48,.92));
}
.rank-hero-main{display:flex;align-items:center;gap:18px;}
.rank-badge-large{
    width:78px;height:78px;border-radius:24px;
    display:grid;place-items:center;
    font-size:34px;font-weight:900;color:#111827;
    background:linear-gradient(135deg,#ffe082,#f2b84b);
    box-shadow:0 18px 45px rgba(242,184,75,.2);
}
.rank-next-box{
    min-width:210px;padding:16px;border-radius:18px;
    background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);
}
.rank-next-box span,.rank-next-box small{display:block;color:var(--muted);}
.rank-next-box strong{display:block;font-size:22px;margin:5px 0;color:var(--text);}
.rank-progress-card{margin-bottom:16px;}
.rank-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}
.rank-percent{font-size:30px;font-weight:900;color:var(--gold);}
.progress.rank span{background:linear-gradient(90deg,#f2b84b,#ffe082,#7cf4b7);box-shadow:0 0 18px rgba(242,184,75,.28);}
.rank-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:9px;color:var(--muted);font-size:13px;}
.rank-timeline{display:grid;gap:10px;margin-top:12px;}
.rank-row{
    display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;
    padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
}
.rank-row.current{border-color:rgba(242,184,75,.55);background:linear-gradient(90deg,rgba(242,184,75,.16),rgba(255,255,255,.035));}
.rank-row.locked{opacity:.62;}
.rank-number{
    width:44px;height:44px;border-radius:15px;display:grid;place-items:center;
    background:rgba(255,255,255,.08);font-weight:900;color:var(--text);
}
.rank-row.current .rank-number{background:linear-gradient(135deg,#ffe082,#f2b84b);color:#111827;}
.rank-info strong{display:block;font-size:16px;}
.rank-info small{display:block;color:var(--muted);margin-top:3px;}
.pill.gold{background:rgba(242,184,75,.2);border-color:rgba(242,184,75,.45);color:#ffe082;}
.muted-pill{opacity:.8;}
.rank-tip-card{margin-top:16px;}
@media (max-width: 760px){
    .rank-hero,.rank-progress-head{align-items:flex-start;flex-direction:column;}
    .rank-next-box{width:100%;min-width:0;}
    .rank-row{grid-template-columns:46px 1fr;}
    .rank-state{grid-column:2;}
    .rank-progress-meta{font-size:12px;}
}

/* V10 Safehouse */
.safehouse-hero {
    background:
        linear-gradient(90deg, rgba(8,12,20,.96), rgba(8,12,20,.74)),
        radial-gradient(circle at 78% 28%, rgba(238,194,92,.18), transparent 38%),
        linear-gradient(135deg, rgba(28,37,55,.96), rgba(8,12,20,.96));
}
.safehouse-current {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.safehouse-current h3 { margin: 0 0 6px; font-size: 1.35rem; }
.safehouse-list .action-card { align-items: flex-start; }
.safehouse-card.owned {
    border-color: rgba(238,194,92,.55);
    box-shadow: 0 0 0 1px rgba(238,194,92,.18), 0 20px 45px rgba(0,0,0,.24);
}
.safehouse-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.safehouse-stats b {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: var(--text);
    font-size: .82rem;
}
.inline-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 12px 0 18px;
}
.notice {
    padding: 11px 13px;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
}
.notice.success {
    background: rgba(61, 220, 151, .10);
    border-color: rgba(61, 220, 151, .24);
}
button:disabled, .btn:disabled {
    opacity: .45;
    cursor: not-allowed;
    filter: grayscale(.5);
}


/* V11 Safehouse images */
.safehouse-current-card {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.10);
    min-height: 230px;
    margin-bottom: 16px;
    background: rgba(0,0,0,.22);
    box-shadow: 0 22px 50px rgba(0,0,0,.22);
}
.safehouse-current-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    opacity: .74;
    filter: saturate(.92) contrast(1.06) brightness(.78);
}
.safehouse-current-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4,8,14,.05), rgba(4,8,14,.82));
    pointer-events: none;
}
.safehouse-current-info {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 1;
}
.safehouse-current-info h3 {
    margin: 8px 0 5px;
    font-size: clamp(1.3rem, 3vw, 2rem);
    text-shadow: 0 3px 18px rgba(0,0,0,.65);
}
.safehouse-list {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.safehouse-list .safehouse-card {
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    gap: 0;
}
.safehouse-card-image {
    position: relative;
    height: 170px;
    overflow: hidden;
    background: rgba(0,0,0,.2);
}
.safehouse-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s ease, filter .25s ease;
    filter: saturate(.9) contrast(1.04) brightness(.82);
}
.safehouse-card:hover .safehouse-card-image img {
    transform: scale(1.035);
    filter: saturate(1.02) contrast(1.08) brightness(.9);
}
.safehouse-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(5,8,14,.72));
}
.safehouse-card-badge {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 1;
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(8,12,20,.78);
    border: 1px solid rgba(255,255,255,.16);
    color: var(--text);
    font-weight: 800;
    font-size: .78rem;
    backdrop-filter: blur(8px);
}
.safehouse-card-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.safehouse-card-body > strong {
    font-size: 1.12rem;
    margin-bottom: 5px;
}
.safehouse-card-body > small {
    color: var(--muted);
    line-height: 1.45;
}
@media (max-width: 700px) {
    .safehouse-current-card img { height: 190px; }
    .safehouse-card-image { height: 150px; }
}

/* V13 PvP: ran og drapsforsøk */
.pvp-hero{position:relative;min-height:310px;border:1px solid rgba(255,255,255,.10);border-radius:24px;overflow:hidden;background:#0b101a;box-shadow:0 20px 70px rgba(0,0,0,.45);display:flex;align-items:flex-end;margin-bottom:8px}
.pvp-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(1.08);transform:scale(1.01)}
.pvp-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,16,.88),rgba(6,10,16,.25) 55%,rgba(6,10,16,.75)),linear-gradient(0deg,rgba(6,10,16,.86),transparent 60%)}
.pvp-hero>div{position:relative;z-index:1;padding:34px;max-width:760px}
.pvp-hero h1{font-size:clamp(34px,5vw,64px);margin:10px 0 8px;letter-spacing:-.04em;text-transform:uppercase}
.pvp-hero .lead{font-size:1.05rem;color:#d8dde8;max-width:700px}
.city-tag.danger,.danger{color:#ff7676!important}.danger-card{border-color:rgba(255,88,88,.35)!important;background:linear-gradient(135deg,rgba(95,21,29,.28),rgba(18,25,36,.9))!important}.btn.danger{background:linear-gradient(135deg,#a82932,#e94e58);color:#fff}.btn.small{padding:8px 12px;font-size:.85rem}.big-number{font-size:clamp(28px,4vw,46px);font-weight:900;color:#f6d46b;line-height:1}.table-wrap{overflow:auto}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;background:rgba(255,255,255,.08);font-size:.78rem;color:#dfe6f5}.pvp-robbery-hero h1{color:#f4c744}.pvp-kill-hero h1{color:#ff6969}@media (max-width:700px){.pvp-hero{min-height:240px}.pvp-hero>div{padding:22px}.pvp-hero h1{font-size:34px}}


/* v15 ammunisjon */
.ammo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-top: 16px;
}
.ammo-card {
    border: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    border-radius: 18px;
    padding: 16px;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.ammo-card h3 { margin: 6px 0 6px; }
.ammo-card p { color: var(--muted, #aab2c0); min-height: 42px; }
.ammo-icon {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(229, 184, 77, .16);
    color: #f3c45b;
    border: 1px solid rgba(229, 184, 77, .35);
}
.ammo-card .price {
    display: block;
    margin: 10px 0;
    color: #f3d37a;
}
.shop-item {
    margin: 12px 0;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.03);
}
.inventory-summary {
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(229, 184, 77, .08);
    border: 1px solid rgba(229, 184, 77, .18);
    margin-bottom: 12px;
}

/* v16: butikkbilder og bedre produktkort */
.shop-hero {
    background:
        linear-gradient(135deg, rgba(9,13,20,.92), rgba(20,27,41,.76)),
        radial-gradient(circle at 78% 25%, rgba(229,184,77,.18), transparent 34%);
}
.section-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}
.shop-badge,
.item-type-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 10px;
    background: rgba(229,184,77,.12);
    border: 1px solid rgba(229,184,77,.25);
    color: #f3d37a;
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    white-space: nowrap;
}
.shop-card-grid,
.shop-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.shop-product-card {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.02));
    box-shadow: 0 18px 40px rgba(0,0,0,.26);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.shop-product-card:hover {
    transform: translateY(-2px);
    border-color: rgba(229,184,77,.34);
    box-shadow: 0 24px 55px rgba(0,0,0,.34);
}
.shop-product-image {
    position: relative;
    height: 142px;
    background: radial-gradient(circle at 75% 20%, rgba(229,184,77,.18), transparent 34%), #101722;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.shop-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.shop-product-image .item-type-pill {
    position: absolute;
    left: 12px;
    bottom: 12px;
    backdrop-filter: blur(8px);
    background: rgba(10,14,22,.7);
}
.shop-product-body {
    padding: 15px;
}
.shop-product-body h3 {
    margin: 0 0 8px;
    font-size: 1.08rem;
}
.shop-product-body p {
    color: var(--muted, #aab2c0);
    min-height: 42px;
    margin: 0 0 10px;
    line-height: 1.45;
}
.shop-product-body .price {
    display: block;
    margin: 10px 0 12px;
    color: #f3d37a;
    font-size: 1.02rem;
}
.stat-line {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin: 10px 0 13px;
}
.stat-line span {
    padding: 8px 7px;
    border-radius: 12px;
    background: rgba(0,0,0,.20);
    border: 1px solid rgba(255,255,255,.07);
    color: var(--muted, #aab2c0);
    font-size: .75rem;
}
.stat-line b {
    color: #f3d37a;
}
.shop-layout.grid.two {
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, .7fr);
}
.inventory-summary.with-icon {
    display: flex;
    align-items: center;
    gap: 12px;
}
.inventory-summary.with-icon img {
    width: 62px;
    height: 44px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.10);
}
.inventory-list {
    display: grid;
    gap: 10px;
}
.inventory-row {
    display: grid;
    grid-template-columns: 54px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
}
.inventory-row img {
    width: 54px;
    height: 38px;
    object-fit: cover;
    border-radius: 10px;
}
.inventory-row strong {
    color: #f3d37a;
}
@media (max-width: 950px) {
    .shop-layout.grid.two { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .section-title-row { flex-direction: column; }
    .shop-product-image { height: 120px; }
    .stat-line { grid-template-columns: 1fr; }
}
