/* Insula Comorilor */
.i-banner { background-image: linear-gradient(180deg, rgba(8,10,16,.35), rgba(11,13,20,.92)), url("img/banner.jpg"); background-size: cover; background-position: center 35%; }

.h3 { font-family: Cinzel, serif; font-size: 19px; margin: 24px 0 12px; color: #f2e6c9; }

.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.fact { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 13px 15px; }
.fact small { display: block; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; color: #f5c542; font-weight: 700; }
.fact b { display: block; margin-top: 4px; font-size: 15px; color: #e8ecf6; font-weight: 600; }
.fact i { display: block; margin-top: 3px; font-style: normal; font-size: 11.5px; color: #8d95a8; }

.chests { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 9px; }
.ch { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); font-size: 13.5px; color: #c9d0de; }
.ch img { width: 30px; height: 30px; flex: none; image-rendering: pixelated; filter: drop-shadow(0 2px 6px rgba(0,0,0,.6)); }

.buffs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.bf { text-align: center; padding: 13px 10px; border-radius: 14px; background: rgba(74,222,128,.07); border: 1px solid rgba(74,222,128,.28); }
.bf b { display: block; font-family: Cinzel, serif; font-size: 22px; color: #4ade80; }
.bf small { display: block; margin-top: 3px; font-size: 12.5px; color: #9aa3b8; }

ul.steps { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 10px; }
ul.steps li { position: relative; padding: 12px 14px 12px 34px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; color: #c2c9d8; line-height: 1.6; font-size: 14.5px; }
ul.steps li::before { content: ""; position: absolute; left: 15px; top: 19px; width: 7px; height: 7px; border-radius: 50%; background: #f5c542; }
ul.steps li b { color: #e8ecf6; }
ul.steps li.warn { border-color: rgba(224,67,63,.45); background: rgba(224,67,63,.08); }
ul.steps li.warn::before { background: #e0433f; }

.miles { list-style: none; margin: 0; padding: 0; }
.miles li { display: flex; align-items: center; gap: 14px; padding: 10px 14px; margin-bottom: 7px; border-radius: 12px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); font-size: 14px; color: #c2c9d8; }
.miles li b { flex: none; min-width: 74px; font-family: Cinzel, serif; font-size: 15px; color: #f5c542; }

.loot { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 14px; }
.lt { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 16px 18px; }
.lt.alt { border-color: rgba(176,107,255,.3); background: rgba(176,107,255,.05); }
.lt h3 { margin: 0 0 10px; font-family: Cinzel, serif; font-size: 17px; color: #f2e6c9; }
.lt ul { list-style: none; margin: 0; padding: 0; }
.lt li { padding: 6px 0 6px 18px; position: relative; font-size: 14px; color: #c2c9d8; border-bottom: 1px solid rgba(255,255,255,.04); }
.lt li:last-child { border-bottom: 0; }
.lt li::before { content: ""; position: absolute; left: 3px; top: 13px; width: 5px; height: 5px; border-radius: 50%; background: #f5c542; }
.lt.alt li::before { background: #b06bff; }

.ranks { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 11px; }
.rk { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border-radius: 14px;
  background: rgba(255,255,255,.03); border: 1px solid color-mix(in srgb, var(--c) 40%, transparent); }
.rk b { font-family: Cinzel, serif; font-size: 20px; color: var(--c); min-width: 46px; }
.rk span { font-size: 13.5px; color: #c9d0de; }

.faq details { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 12px 16px; margin-bottom: 9px; }
.faq summary { cursor: pointer; font-weight: 600; color: #f2e6c9; font-size: 15px; list-style: none; position: relative; padding-right: 26px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: -2px; color: #f5c542; font-size: 20px; }
.faq details[open] summary::after { content: "–"; }
.faq p { margin: 10px 0 2px; color: #c2c9d8; line-height: 1.65; font-size: 14.5px; }
