/* ===== GLOBAL ===== */
body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
}

.container {
  max-width: 900px;
  margin: 0 auto;
}

.build-entry {
  background: #f9f9f9;
  padding: 14px;
  border-radius: 6px;
  margin-bottom: 12px;
}

.build-entry h3 {
  margin: 0 0 6px 0;
  font-size: 16px;
}

.build-entry p {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
}

.build-meta {
  margin: 6px 0;
}

.build-stars {
  width: 380px; /* space for 3 ratings */
  height: 20px;
}

.img-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.d2-item {
  width: 250px;
  background: #1a1a1a;
  color: #c7c7c7;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #222;
  text-align: center;
  display: flex;
  flex-direction: column;
}

/* NAME */
.d2-item-name {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}

/* TYPE */
.d2-item-type {
  color: #aaaaaa;
  margin-bottom: 6px;
}

/* STATS */
.d2-item-stat {
  margin: 2px 0;
}

/* REQUIREMENTS */
.d2-item-req {
  margin: 2px 0;
}

/* COLORS */
.d2-unique {
  color: #c7a94b;
  text-shadow: 0 0 3px rgba(199, 169, 75, 0.6);
}

.d2-blue {
  color: #6aa9ff;
}

.d2-red {
  color: #ff4d4d;
}

.img-row img {
  width: 220px;
  max-width: 100%;
  height: auto;
  flex: 1 1 220px;
}

.section {
  background: #ffffff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  margin-bottom: 20px;
}

/* ===== TEXT ===== */
.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.text-muted {
  color: #777;
}

.text-small {
  font-size: 12px;
}

.text-medium {
  font-size: 14px;
}

/* ===== HEADERS ===== */
.title {
  text-align: center;
}

.subtitle {
  text-align: center;
  font-weight: bold;
  text-decoration: underline;
}

/* ===== FLEX / LAYOUT ===== */
.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.gap-12 {
  gap: 12px;
}

.gap-8 {
  gap: 8px;
}

.flex-center {
  justify-content: center;
  align-items: flex-start;
}

/* ===== CARDS ===== */
.card {
  background: #f9f9f9;
  padding: 15px;
  border-radius: 8px;
}

.card-pros {
  border-left: 4px solid #4caf50;
}

.card-cons {
  border-left: 4px solid #e53935;
}

.pros-cons{
  display: flex;
  flex: 1 1 400px;
}

.pros-cons .card {
  flex: 1;
}
  
.divider {
  border: none;
  border-top: 1px solid #eee;
  margin: 20px 0;
}

/* ===== IMAGES ===== */
.img-center {
  display: block;
  margin: 0 auto;
}

.img-500 {
  width: 500px;
}

.img-350 {
  width: 350px;
}

/* ===== HS ITEMS ===== */
.hs-items {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  align-items:flex-start;
}

.hs-relic {
  width:220px;
  padding:12px 10px;
  background:rgba(0,0,0,0.95);
  border:1px solid #3a2a1a;
  box-shadow:0 0 10px rgba(0,0,0,0.6), inset 0 0 6px rgba(0,0,0,0.8);
  text-align:center;
  font-family:Georgia, "Times New Roman", serif;
  color:#e8e1d0;
}

.hs-relic__name {
  font-size:16px;
  color:#ff7a2a;
  letter-spacing:1px;
  margin-bottom:4px;
  text-shadow:0 0 6px rgba(255,120,40,0.4);
}

.hs-relic__type {
  font-size:12px;
  text-transform:uppercase;
  color:#bfb7a2;
  margin-bottom:10px;
  letter-spacing:1px;
}

.hs-relic__level {
  font-size:12px;
  color:#d6c9a5;
  margin-bottom:8px;
}

.hs-relic__stat {
  font-size:13px;
  margin-bottom:4px;
  color:#6f78ff;
}

/* ===== ITEMS ===== */
.hs-item {
  width:250px;
  max-width:100%;
  box-sizing:border-box;
  padding:5px;
  background:rgba(0,0,0,0.92);
  border:1px solid #7a120d;
  box-shadow:0 0 0 1px #180404 inset, 0 0 18px rgba(80,0,0,0.35);
  color:#e8e1d0;
  font-family:Georgia, "Times New Roman", serif;
  text-align:center;
  line-height:1.15;
}

.hs-item__name {
  font-size:20px;
  letter-spacing:1px;
  margin-bottom:3px;
}

.hs-item__type {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#cfc7b2;
  margin-bottom:8px;
}

.hs-item__stat {
  font-size:13px;
  color:#f2ead8;
  margin-bottom:2px;
}

.hs-item__divider {
  height:1px;
  margin:8px 12px 12px;
  background:linear-gradient(to right, rgba(0,0,0,0), rgba(180,120,70,0.7), rgba(0,0,0,0));
}

.hs-item__affix {
  font-size:13px;
  margin-bottom:4px;
  color:#6f78ff;
}

.hs-item__affix--gold {
  color:#f0c56a;
}

.hs-item__meta {
  font-size:12px;
  color:#c7b79a;
  margin-bottom:4px;
}

.hs-item__hint {
  font-size:10px;
  color:#8e8577;
  text-transform:uppercase;
  letter-spacing:0.5px;
}

/* ===== ITEM RARITIES ===== */
.hs-item--satanic .hs-item__name {
  color:#c84b2a;
  text-shadow:0 0 6px rgba(120,20,10,0.45);
}

.hs-item--unholy .hs-item__name {
  color:#d16a7a;
  text-shadow:
    0 0 6px rgba(120,20,60,0.5),
    0 0 2px rgba(180,80,100,0.6);
}

.hs-item--set .hs-item__name {
  color:#4fae57;
  text-shadow:0 0 6px rgba(20,90,20,0.45);
}

.hs-item--heroic .hs-item__name {
  color:#8a9a3a;
  text-shadow:0 0 6px rgba(80,90,20,0.45);
}

/* ===== RESPONSIVE ===== */
@media (max-width:640px){
  .hs-item {
    width:100%;
  }
}