
/* ===== V4.02 Unified premium design: Shop + Inventory + rest of Character ===== */

/* ---------- SHARED RPG CARD LANGUAGE ---------- */
#shop .card,
#character .card{
  border-radius:19px!important;
  border-color:#34513b!important;
  background:
    radial-gradient(circle at 85% 0%,rgba(98,205,78,.07),transparent 28%),
    linear-gradient(155deg,#121f17,#08110c)!important;
  box-shadow:inset 0 0 32px #0005,0 12px 28px #0004!important;
}
#shop .section-title,
#character .section-title{
  position:relative;
  z-index:1;
}
#shop .section-title h2,
#shop .section-title h3,
#character .section-title h2,
#character .section-title h3{
  text-shadow:0 0 14px rgba(121,219,91,.10);
}

/* ---------- HÄNDLERGASSE ---------- */
#shop{
  --shop-gold:#e9bb52;
  --shop-green:#72da5c;
  --shop-blue:#56a6e9;
  --shop-purple:#ae69ed;
  --shop-orange:#e9953b;
  --shop-cyan:#48e4df;
}
#shop > .v052-scene-banner{
  min-height:118px!important;
  border-color:#516036!important;
  background:
    radial-gradient(circle at 84% 45%,rgba(237,181,68,.12),transparent 28%),
    radial-gradient(circle at 10% 15%,rgba(94,197,80,.12),transparent 28%),
    linear-gradient(145deg,#172015,#0c120c)!important;
}
#shop > .v052-scene-banner .v052-title{
  font-size:22px!important;
}
#shop > .v052-scene-banner .v052-sub{
  max-width:76%;
  line-height:1.45;
}
#shop .currency-row{
  display:flex!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
#shop .currency-row .pill,
#shop .currency-pill{
  padding:6px 9px!important;
  border-radius:10px!important;
  background:#0b140f!important;
}
#shop .currency-row .pill{
  border-color:#7d632d!important;
  color:#d9bd72!important;
}
#shop .currency-pill{
  border-color:#227b75!important;
  color:#70e1da!important;
}

/* merchant card grid */
#shop .shop-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
#shop .shop-item{
  position:relative!important;
  min-width:0!important;
  min-height:245px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:11px!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 50% -15%,rgba(255,255,255,.045),transparent 34%),
    linear-gradient(155deg,#142019,#09110d)!important;
  box-shadow:inset 0 0 24px #0005,0 7px 15px #0004!important;
}
#shop .shop-item:before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 10%,rgba(255,255,255,.018) 42%,transparent 68%);
}
#shop .shop-item h3{
  min-height:31px;
  margin:7px 0 4px!important;
  font-size:10px!important;
  line-height:1.18!important;
}
#shop .shop-item .tiny,
#shop .shop-item .item-bonus{
  font-size:7px!important;
  line-height:1.35!important;
}
#shop .shop-item .price{
  margin-top:auto!important;
  padding-top:9px;
  color:#e8bd58!important;
  font-size:9px!important;
  font-weight:1000!important;
}
#shop .shop-item .btn{
  margin-top:7px!important;
  min-height:38px!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#86dc5c,#54ad3c)!important;
  border-color:#7ccc57!important;
  color:#071008!important;
  font-weight:1000!important;
}
#shop .v41-shop-icon,
#shop .shop-icon{
  width:64px!important;
  height:64px!important;
  margin:0 auto!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,255,255,.07),transparent 45%),
    #0a120e!important;
  border:1px solid #435b47!important;
  font-size:34px!important;
}

/* rarity glows - supports old rarity class naming */
#shop .shop-item.common-gray,
#shop .shop-item.gray{border-color:#59645e!important}
#shop .shop-item.common-green,
#shop .shop-item.green{border-color:#4f9b58!important;box-shadow:inset 0 0 24px rgba(76,163,84,.09),0 0 13px rgba(76,163,84,.07)!important}
#shop .shop-item.rare-blue,
#shop .shop-item.blue{border-color:#4f89d5!important;box-shadow:inset 0 0 25px rgba(66,127,215,.10),0 0 14px rgba(66,127,215,.09)!important}
#shop .shop-item.epic-purple,
#shop .shop-item.purple{border-color:#a066df!important;box-shadow:inset 0 0 26px rgba(155,89,225,.11),0 0 15px rgba(155,89,225,.10)!important}
#shop .shop-item.legendary-orange,
#shop .shop-item.orange{border-color:#de9638!important;box-shadow:inset 0 0 27px rgba(224,141,44,.12),0 0 16px rgba(224,141,44,.11)!important}
#shop .shop-item.mystic-cyan,
#shop .shop-item.cyan{border-color:#42dcd7!important;box-shadow:inset 0 0 28px rgba(54,221,215,.14),0 0 18px rgba(54,221,215,.13)!important}

/* daily refresh gets a deliberate premium footer */
#shop #v127ShopResetInfo{
  margin:9px 0!important;
  padding:8px 10px!important;
  border-color:#34676a!important;
  background:linear-gradient(145deg,#0c1d1f,#081215)!important;
  color:#7ed9d6!important;
}
#shop #v030RefreshAll,
#shop #refreshShop{
  min-height:45px!important;
  border-radius:12px!important;
  border-color:#4b6246!important;
  background:linear-gradient(180deg,#17251a,#101812)!important;
}

/* ---------- CHARACTER HEADER / REST ---------- */
#character > .v052-scene-banner{
  min-height:120px!important;
  border-color:#385844!important;
  background:
    radial-gradient(circle at 83% 40%,rgba(99,211,79,.11),transparent 29%),
    radial-gradient(circle at 18% 12%,rgba(226,179,69,.07),transparent 24%),
    linear-gradient(145deg,#152319,#0b140f)!important;
}
#character > .v052-scene-banner .v052-title{
  font-size:22px!important;
}
#character > .v038-location{
  display:inline-flex!important;
  align-items:center;
  padding:5px 9px;
  border:1px solid #365841;
  border-radius:999px;
  background:#0b150f;
  color:#8fc983!important;
  margin:5px 2px 10px!important;
}

/* hero panel */
#character .hero-card{
  position:relative;
  overflow:hidden;
  border-radius:21px!important;
  border-color:#35563d!important;
  background:
    radial-gradient(circle at 50% 31%,rgba(109,219,89,.11),transparent 29%),
    linear-gradient(180deg,#112017,#08110c)!important;
  box-shadow:inset 0 0 48px #0006,0 16px 35px #0005!important;
}
#character .hero-card:after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(116,198,97,.04);
  border-radius:16px;
  pointer-events:none;
}
#character .hero-card > h2,
#character .hero-card > .muted{
  position:relative;z-index:2;
}
#character .hero-card > h2{
  margin:0!important;
  font-size:24px!important;
  letter-spacing:.01em;
}
#character .hero-card > .muted{
  color:#8eb98a!important;
  margin-top:3px!important;
}

/* central name / title / XP */
#character .center-name{
  color:#f2f6ef!important;
  text-shadow:0 4px 15px #000!important;
}
#character .center-class{
  color:#a3e676!important;
  font-weight:1000!important;
}
#character .center-xp{
  padding:7px 8px 5px!important;
  border-radius:10px;
  background:#07100b;
  border:1px solid #294531;
}
#character .center-xp .progress{
  height:9px!important;
  border-radius:999px!important;
}
#character .center-xp .bar{
  background:linear-gradient(90deg,#6bca4f,#a9e879)!important;
  box-shadow:0 0 10px rgba(126,218,88,.14);
}

/* illegal book becomes a real collectible button */
#character [onclick*="achievement"],
#character [onclick*="book"],
#character .achievement-book{
  border-radius:15px!important;
  border-color:#8b6b31!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(238,188,70,.12),transparent 30%),
    linear-gradient(145deg,#291c0e,#140f08)!important;
  box-shadow:0 7px 16px #0005,0 0 13px rgba(218,164,53,.08)!important;
}

/* combat boxes slightly more premium */
#character .combat-box:first-child{
  border-color:#75414c!important;
  background:radial-gradient(circle at 8% 50%,rgba(231,82,103,.09),transparent 26%),linear-gradient(145deg,#1b1718,#0b1010)!important;
}
#character .combat-box:nth-child(2){
  border-color:#79622e!important;
  background:radial-gradient(circle at 8% 50%,rgba(231,185,71,.09),transparent 26%),linear-gradient(145deg,#1a180f,#0b100c)!important;
}

/* ---------- INVENTORY ---------- */
#character #inventory,
#character #v030Materials{
  position:relative;
}
#character #inventory .inventory-grid,
#character #v030Materials .inventory-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
#character #inventory .inv-item,
#character #v030Materials .inv-item{
  position:relative;
  min-width:0!important;
  min-height:205px!important;
  padding:10px!important;
  border-radius:15px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% -12%,rgba(255,255,255,.045),transparent 34%),
    linear-gradient(155deg,#142019,#09110d)!important;
  box-shadow:inset 0 0 23px #0005,0 6px 13px #0004!important;
}
#character #inventory .inv-item .item-name,
#character #v030Materials .inv-item .item-name{
  min-height:28px;
  font-size:9px!important;
  line-height:1.18!important;
  font-weight:1000!important;
}
#character #inventory .item-bonus,
#character #v030Materials .item-bonus{
  margin-top:6px!important;
  font-size:7px!important;
  line-height:1.35!important;
  color:#aebbb4!important;
}
#character #inventory .inv-actions{
  margin-top:auto!important;
  gap:5px!important;
}
#character #inventory .inv-actions .btn,
#character #v030Materials .btn{
  min-height:36px!important;
  border-radius:9px!important;
  font-size:7px!important;
}
#character #v030Materials .btn{
  margin-top:auto!important;
}

/* rarity treatment inventory/material */
#character .inv-item.common-gray{border-color:#59645e!important}
#character .inv-item.common-green{border-color:#4f9b58!important}
#character .inv-item.rare-blue{border-color:#4f89d5!important;box-shadow:inset 0 0 24px rgba(66,127,215,.10),0 0 13px rgba(66,127,215,.08)!important}
#character .inv-item.epic-purple{border-color:#a066df!important;box-shadow:inset 0 0 25px rgba(155,89,225,.11),0 0 14px rgba(155,89,225,.09)!important}
#character .inv-item.legendary-orange{border-color:#de9638!important;box-shadow:inset 0 0 26px rgba(224,141,44,.12),0 0 15px rgba(224,141,44,.10)!important}
#character .inv-item.mystic-cyan{border-color:#42dcd7!important;box-shadow:inset 0 0 28px rgba(54,221,215,.14),0 0 18px rgba(54,221,215,.12)!important}

/* remove old dev-looking version labels */
#character .card .tiny{
  color:#84958b;
}
#character .card .tiny:first-of-type{
  letter-spacing:.01em;
}

/* headings inside character cards */
#character .card .section-title{
  padding-bottom:9px;
  margin-bottom:9px;
  border-bottom:1px solid #283e2e;
}
#character .card .section-title .pill{
  background:#0b1510!important;
  border-color:#3b5d41!important;
  color:#9acb8d!important;
}

/* ---------- MOBILE ---------- */
@media(max-width:560px){
  #shop .shop-grid,
  #character #inventory .inventory-grid,
  #character #v030Materials .inventory-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  #shop .shop-item{
    min-height:228px!important;
    padding:9px!important;
  }
  #shop .v41-shop-icon,
  #shop .shop-icon{
    width:56px!important;height:56px!important;font-size:30px!important;
  }
  #shop .shop-item h3{font-size:8.5px!important}
  #shop .shop-item .tiny,
  #shop .shop-item .item-bonus{font-size:6.2px!important}
  #character #inventory .inv-item,
  #character #v030Materials .inv-item{
    min-height:190px!important;
    padding:8px!important;
  }
  #character #inventory .inv-item .item-name,
  #character #v030Materials .inv-item .item-name{
    font-size:8px!important;
  }
}
@media(max-width:390px){
  #shop .shop-grid,
  #character #inventory .inventory-grid,
  #character #v030Materials .inventory-grid{
    gap:5px!important;
  }
  #shop .shop-item{padding:7px!important}
}
