/* =====================================================================
   การ์ดตัวละคร (หน้าร่างหัวข้อ H2/H4/I · 1 ต.ค. จ๊อบ) · 165x250 · ตาราง 2 ใบต่อแถว · โหลดหลัง ui2.css
   ===================================================================== */
body[data-zone] #villagers .vgrid { display: grid; grid-template-columns: repeat(auto-fill, 165px); gap: 10px 8px; justify-content: center; padding: 2px 0 8px; }
body[data-zone] #villagers .vgroup-head { grid-column: 1 / -1; font: 700 12px var(--pix); color: #9fbad2; letter-spacing: 1px; text-transform: uppercase; margin: 4px 0 -2px; }
body[data-zone] .tc-wrap { perspective: 700px; }
body[data-zone] .tc { --rx: 0deg; --ry: 0deg; --mx: 50%; --my: 50%; --s: 1;
  position: relative; width: 165px; height: 250px; box-sizing: border-box; cursor: pointer; user-select: none; border: 0; padding: 0; margin: 0;
  background: none; clip-path: none; overflow: visible; outline: none; box-shadow: none; image-rendering: pixelated;
  transform: rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--s)); transform-style: preserve-3d;
  transition: transform .3s ease-out, filter .3s ease-out; filter: drop-shadow(0 5px 0 rgba(0,0,0,.45)); }
body[data-zone] .tc.hov { transition: transform .06s linear, filter .2s; --s: 1.04; filter: drop-shadow(0 14px 10px rgba(0,0,0,.5)); }
body[data-zone] .tc.away { opacity: .8; }
body[data-zone] .tc.t-common    { --glow: #d8d4c8; --glow2: #3a3c44; --name: #f4f0e6; --stk: #f4f0e6; }
body[data-zone] .tc.t-fine      { --glow: #7fb069; --glow2: #1e3a22; --name: #d2f4b4; --stk: #e4ffd0; }
body[data-zone] .tc.t-rare      { --glow: #6f8fd0; --glow2: #1c2a50; --name: #cfe0ff; --stk: #e6efff; }
body[data-zone] .tc.t-legendary { --glow: #e0b24c; --glow2: #4a3510; --name: #fff2c0; --stk: #fffbe8; }
body[data-zone] .tc.t-mystical  { --glow: #e0453a; --glow2: #4a1410; --name: #ffc6b8; --stk: #fff0ea; }
body[data-zone] .tc .tc-frame { position: absolute; inset: 0; z-index: 2; background: var(--art) 0 0 / 100% 100% no-repeat; pointer-events: none; }
body[data-zone] .tc .tc-art { position: absolute; left: 19px; top: 17px; width: 127px; height: 156px; overflow: hidden; border-radius: 3px;
  box-shadow: inset 0 0 0 2px #05070b, inset 0 0 18px rgba(0,0,0,.75);
  background: radial-gradient(ellipse 60% 14px at 50% 134px, rgba(0,0,0,.55), transparent 100%),
              conic-gradient(from 180deg at 50% -10%, transparent 0 160deg, rgba(255,255,255,.07) 170deg, transparent 178deg, rgba(255,255,255,.06) 186deg, transparent 196deg 360deg),
              radial-gradient(circle at 50% 56%, var(--glow) 0, var(--glow2) 44%, #0a0c11 80%); }
body[data-zone] .tc .tc-stage { position: absolute; left: 50%; bottom: 18px; width: 0; height: 0; transform: scale(2.4); transform-origin: 0 0;
  filter: drop-shadow(1px 0 0 var(--stk)) drop-shadow(-1px 0 0 var(--stk)) drop-shadow(0 1px 0 var(--stk)) drop-shadow(0 -1px 0 var(--stk)) drop-shadow(0 1px 0 rgba(0,0,0,.5)); }
body[data-zone] .tc .tc-stage .actor { left: 0 !important; top: 0 !important; transition: none; }
body[data-zone] .tc .actor .tag, body[data-zone] .tc .actor .say, body[data-zone] .tc .actor::after { display: none !important; }
/* 2 ต.ค. จ๊อบ (แบบ 1): การ์ดใบใหญ่มีออร่าจริงจากของสวมใส่เท่าในฉากเป๊ะ (แสงรอบตัว + วงใต้เท้า + ประกายลอย + แสงอาวุธ/ลูกแก้วตีบวก + สายฟ้า)
   ตัวที่มีออร่า = ไม่มีขอบสติกเกอร์ขาว (ออร่าเป็นขอบแทน) · ไม่มีออร่า = ขอบขาวเหมือนเดิม · เดิม (1 ต.ค.) ปิดทั้งหมด */
body[data-zone] .tc .actor.aura::before { display: block !important; }
body[data-zone] .tc .actor.aura3::after, body[data-zone] .tc .actor.aura4::after { display: block !important; }
body[data-zone] .tc .tc-stage:has(.actor.aura) { filter: drop-shadow(0 1px 0 rgba(0,0,0,.5)); }
body[data-zone] .tc .actor .layer.holo { background: none !important; animation: ui2-holo-mask 1.6s steps(4) infinite; animation-delay: -0.7s;
  -webkit-mask-image: var(--spr); mask-image: var(--spr); -webkit-mask-size: 192px 336px; mask-size: 192px 336px; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: 0 0; mask-position: 0 0; overflow: hidden; mix-blend-mode: overlay; opacity: .6; }
/* 2 ต.ค. จ๊อบ: ลายบนตัวหยุดวิ่ง เลื่อนตามเมาส์แทน · ทอง = ไล่สีทอง · แดง = ไล่สีรุ้ง (เดิมทองเป็นรุ้ง แดงเป็นแดงส้ม) */
body[data-zone] .tc .actor .layer.holo { transition: opacity .3s; }
body[data-zone] .tc .actor .layer.holo::before { content: ''; position: absolute; inset: -40px;
  background: repeating-linear-gradient(115deg, transparent 0 10px, #fff3c4 14px, #ffd36b 18px, #ffb84a 22px, #fff3c4 26px, transparent 30px 60px); background-size: 200% 200%; background-position: var(--mx) var(--my); }
body[data-zone] .tc.t-mystical .actor .layer.holo::before { background-image: repeating-linear-gradient(115deg, transparent 0 10px, #ff9ac8 14px, #ffd67a 18px, #9dffb8 22px, #8fd8ff 26px, #c9a0ff 30px, transparent 34px 60px); }
body[data-zone] .tc.hov .actor .layer.holo { opacity: 1; }
@keyframes ui2-holo-mask { from { -webkit-mask-position: 0 0; mask-position: 0 0; } to { -webkit-mask-position: -192px 0; mask-position: -192px 0; } }
@keyframes ui2-holo-run { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }
body[data-zone] .tc .spk { position: absolute; width: 7px; height: 7px; z-index: 2; pointer-events: none; opacity: 0;
  background: linear-gradient(#fff,#fff) center/1px 7px no-repeat, linear-gradient(#fff,#fff) center/7px 1px no-repeat;
  animation: ui2-twinkle 2.2s ease-in-out infinite; filter: drop-shadow(0 0 2px var(--glow)); }
@keyframes ui2-twinkle { 0%, 100% { opacity: 0; transform: scale(.4); } 45% { opacity: 1; transform: scale(1); } 60% { opacity: .2; } }
body[data-zone] .tc .tc-lv { position: absolute; left: 26px; top: 24px; z-index: 3; min-width: 22px; height: 18px; padding: 0 4px; box-sizing: border-box;
  font: 12px/14px var(--pix); color: #fff; text-align: center; background: rgba(5,7,11,.85); border: 2px solid #05070b; border-radius: 4px; box-shadow: inset 0 0 0 1px var(--glow); }
body[data-zone] .tc .tc-badge { position: absolute; right: 26px; top: 24px; z-index: 3; padding: 0 5px; height: 16px; box-sizing: border-box; font: 10px/12px var(--pix); letter-spacing: 1px;
  color: #0b0d12; background: var(--glow); border: 2px solid #05070b; border-radius: 4px; }
/* ป้ายระดับ: หยุดวิ่ง เงาเลื่อนตามเมาส์ (2 ต.ค.) · แดง = รุ้ง */
body[data-zone] .tc.t-legendary .tc-badge { background: linear-gradient(90deg, #ffe08a, #fff6cf, #e0b24c, #ffe08a) var(--mx) 0 / 200% 100%; }
body[data-zone] .tc.t-mystical .tc-badge { background: linear-gradient(90deg, #ff8a8a, #ffd28a, #fff38a, #9dffb0, #8ad8ff, #c39aff, #ff8a8a) var(--mx) 0 / 300% 100%; color: #1a0402; }
body[data-zone] .tc .tc-plate { position: absolute; left: 12px; right: 12px; top: 199px; height: 38px; background: #0a0c11; border-radius: 3px; z-index: 1; }
body[data-zone] .tc .tc-name { position: absolute; left: 0; right: 0; top: 205px; z-index: 3; text-align: center; font: 14px/1 var(--pix); color: var(--name); text-shadow: 1px 1px 0 #000; letter-spacing: 1px; }
body[data-zone] .tc .tc-job { position: absolute; left: 0; right: 0; top: 222px; z-index: 3; text-align: center; font: 10px/1 var(--pix); color: #9fb0c0; }
body[data-zone] .tc .tc-job.tower { color: #c9a8f0; }
body[data-zone] .tc .tc-hp { position: absolute; left: 30px; right: 30px; top: 233px; height: 3px; z-index: 3; background: #2a0c0a; }
body[data-zone] .tc .tc-hp i { display: block; height: 100%; background: #d9573f; }
/* 2 ต.ค. จ๊อบ: ทั้งใบใช้ลายไล่สีแบบเดียวกับบนตัวละคร (เส้นกว้าง 5 เท่า = แบบ 4 ที่จ๊อบเลือก) แทนแสงวิ่งที่จ้า · ไม่มีจุดแสงขาวตามเมาส์
   นิ่งตอนไม่ชี้ เห็นจางๆ · ชี้แล้วชัดขึ้นและเลื่อนตามเมาส์ · ตัดตามรูปทรงการ์ด หดเข้าในกรอบ (cardmask_* จาก tools/mockup/make_card_masks.py) ไม่ให้ล้นมุม */
body[data-zone] .tc .tc-glare { display: none; }
body[data-zone] .tc .tc-foil { position: absolute; inset: 0; z-index: 4; pointer-events: none; opacity: 0; mix-blend-mode: overlay; transition: opacity .3s;
  background-size: 200% 200%; background-position: var(--mx) var(--my);
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
body[data-zone] .tc.t-legendary .tc-foil { opacity: .3; background-image: repeating-linear-gradient(115deg, transparent 0 50px, #fff3c4 70px, #ffd36b 90px, #ffb84a 110px, #fff3c4 130px, transparent 150px 300px);
  -webkit-mask-image: url(../assets/ui/v2/cardmask_legendary.png); mask-image: url(../assets/ui/v2/cardmask_legendary.png); }
body[data-zone] .tc.t-mystical .tc-foil { opacity: .3; background-image: repeating-linear-gradient(115deg, transparent 0 50px, #ff9ac8 70px, #ffd67a 90px, #9dffb8 110px, #8fd8ff 130px, #c9a0ff 150px, transparent 170px 300px);
  -webkit-mask-image: url(../assets/ui/v2/cardmask_mystical.png); mask-image: url(../assets/ui/v2/cardmask_mystical.png); }
body[data-zone] .tc.big.t-legendary .tc-foil { -webkit-mask-image: url(../assets/ui/v2/cardmask_legendary_lg.png); mask-image: url(../assets/ui/v2/cardmask_legendary_lg.png); }
body[data-zone] .tc.big.t-mystical .tc-foil { -webkit-mask-image: url(../assets/ui/v2/cardmask_mystical_lg.png); mask-image: url(../assets/ui/v2/cardmask_mystical_lg.png); }
body[data-zone] .tc.t-legendary.hov .tc-foil, body[data-zone] .tc.t-mystical.hov .tc-foil { opacity: .65; }
@keyframes ui2-foil-run { from { background-position: 0% 0%; } to { background-position: 100% 100%; } }

/* ประกายกากเพชรบนตัวละคร (2 ต.ค. · addCardGlints ใน ui.js) · ชั้นเดียวกับตัวละคร (ขยาย 2.4) แต่อยู่นอกเงาสติกเกอร์ ไม่โดนขอบขาวล้อม */
body[data-zone] .tc { --star: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M10 0 Q11 9 20 10 Q11 11 10 20 Q9 11 0 10 Q9 9 10 0Z'/></svg>"); }
body[data-zone] .tc .tc-glints { position: absolute; left: 50%; bottom: 18px; width: 0; height: 0; transform: scale(2.4); transform-origin: 0 0; pointer-events: none; z-index: 3; }
body[data-zone] .tc .tc-glints > b { position: absolute; left: 0; top: 0; width: 24px; height: 34px; transform: translate(-50%, -100%); }
body[data-zone] .tc .tc-glints > b > i { position: absolute; left: -9px; top: -20px; width: 48px; height: 56px; animation: ui2-glint-bob 1.6s infinite step-end;
  filter: drop-shadow(0 0 .6px rgba(255,255,255,.9)); }
@keyframes ui2-glint-bob { 0% { transform: translateY(var(--d0, 0)); } 25% { transform: translateY(var(--d1, 0)); } 50% { transform: translateY(var(--d2, 0)); } 75%, 100% { transform: translateY(var(--d3, 0)); } }
body[data-zone] .tc .gl { position: absolute; width: 3.5px; height: 3.5px; margin: -1.75px 0 0 -1.75px; opacity: 0; background: #fff;
  -webkit-mask: var(--star) center / 100% 100% no-repeat; mask: var(--star) center / 100% 100% no-repeat;
  animation: ui2-glint var(--dur, 4s) var(--dl, 0s) infinite ease-in-out; }
body[data-zone] .tc .gl.gold { background: #ffd56a; }
body[data-zone] .tc .gl.rb { background: conic-gradient(#ff7ab0, #ffd36b, #8dffb0, #7fd6ff, #b49cff, #ff7ab0); }
body[data-zone] .tc .gl.hot { --dur: 1.5s; }
/* วาบขึ้นเร็ว แล้วค่อยๆ จาง (จ๊อบ: ช้าลงเท่าตัว · จางเร็วขึ้นนิด · ดาวเล็ก) */
@keyframes ui2-glint { 0% { opacity: 0; transform: scale(.25) rotate(0deg); } 6% { opacity: 1; transform: scale(var(--gs, 1)) rotate(15deg); } 22% { opacity: 0; transform: scale(.45) rotate(40deg); } 100% { opacity: 0; transform: scale(.25); } }
body[data-zone] .cv-anim .tc .tc-glints { display: none; }

/* ---------- การ์ดใบใหญ่ตอนกดเปิด ---------- */
body[data-zone] .cv-ov { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; background: rgba(4, 6, 10, .78); cursor: default; }
body[data-zone] .cv-box { position: relative; display: flex; gap: 22px; align-items: flex-start; }
body[data-zone] .cv-cardslot { width: 264px; height: 400px; position: relative; }
/* 2 ต.ค. จ๊อบ: การ์ดใบใหญ่โยกตามเมาส์ด้วย · หมุนรอบกลางการ์ด (ขยาย 1.6 จากกลาง = เลื่อนไปกลางช่อง 264×400) */
body[data-zone] .cv-cardslot .tc { position: absolute; left: 49.5px; top: 75px; transform-origin: 50% 50%; cursor: default;
  transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) scale(calc(1.6 * var(--s))); }
body[data-zone] .cv-panel { width: 360px; max-height: 86vh; overflow-y: auto; box-sizing: border-box; border-style: solid; border-width: 6px;
  border-image: url(../assets/ui/v2/panel_ice.png) 3 fill / 6px stretch; image-rendering: pixelated; padding: 0 8px 10px; box-shadow: 0 4px 0 rgba(0,0,0,.45); }
body[data-zone="desert"] .cv-panel { border-image-source: url(../assets/ui/v2/panel_desert.png); }
body[data-zone] .cv-panel > .pf-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 -8px 8px; padding: 6px 10px 5px; background: #0a1826;
  border-bottom: 2px solid #06101c; box-shadow: 0 2px 0 #2c5070; font: 700 14px/1.2 var(--pix); color: #e2f5ff; letter-spacing: 1px; text-transform: uppercase; }
body[data-zone="desert"] .cv-panel > .pf-h { background: #1e1208; border-bottom-color: #1a0f06; box-shadow: 0 2px 0 #6e5030; color: #fdebc6; }
body[data-zone] .cv-sec { font: 700 10px var(--pix); color: #7f98b0; letter-spacing: 1px; text-transform: uppercase; margin: 10px 0 5px; }
body[data-zone] .cv-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
body[data-zone] .cv-stats .st { background: #0a1826; border: 2px solid #06101c; box-shadow: inset 1px 1px 0 #1d3a56; padding: 3px 6px; }
body[data-zone="desert"] .cv-stats .st { background: #170e06; box-shadow: inset 1px 1px 0 #3a2814; }
body[data-zone] .cv-stats .st em { display: block; font: 10px var(--pix); font-style: normal; color: #7f98b0; }
body[data-zone] .cv-stats .st b { font: 13px var(--pix); color: #eef7fd; font-weight: normal; }
body[data-zone] .cv-stats .st small { font: 10px var(--pix); color: #7fc45a; margin-left: 3px; }
body[data-zone] .cv-exp { height: 3px; background: #06101c; margin-top: 5px; }
body[data-zone] .cv-exp i { display: block; height: 100%; background: #9fd8e0; }
body[data-zone] .cv-gear { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
body[data-zone] .gs2 { --g: #2c5070; position: relative; height: 38px; padding: 0; min-width: 0; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; justify-content: center;
  border-style: solid; border-width: 6px; border-color: transparent; border-image: var(--sf, url(../assets/ui/v2/slot_common.png)) 3 / 6px stretch; image-rendering: pixelated;
  background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--g) 55%, transparent) 0, transparent 70%), #08131f; box-shadow: none; outline: none; }
body[data-zone] .gs2 img { width: 26px; height: 26px; image-rendering: pixelated; margin: 0 !important; position: relative; }
body[data-zone] .gs2.sel { outline: 2px solid #eef7fd; outline-offset: 1px; }
body[data-zone] .gs2 .splus { position: absolute; right: -3px; bottom: -4px; font: 10px var(--pix); color: #fff; text-shadow: 1px 1px 0 #000; z-index: 1; }
body[data-zone] .gs2.r-crude     { --sf: url(../assets/ui/v2/slot_crude.png);     --g: #8d93a6; }
body[data-zone] .gs2.r-common    { --sf: url(../assets/ui/v2/slot_common.png);    --g: #d8d4c8; }
body[data-zone] .gs2.r-fine      { --sf: url(../assets/ui/v2/slot_fine.png);      --g: #7fb069; }
body[data-zone] .gs2.r-rare      { --sf: url(../assets/ui/v2/slot_rare.png);      --g: #6f8fd0; }
body[data-zone] .gs2.r-legendary { --sf: url(../assets/ui/v2/slot_legendary.png); --g: #e0b24c; }
body[data-zone] .gs2.r-mystical  { --sf: url(../assets/ui/v2/slot_mystical.png);  --g: #e0453a; }
body[data-zone] .gs2.empty { background: #08131f; filter: saturate(.3) brightness(.8); }
body[data-zone] .gs2.empty img { opacity: .22; filter: grayscale(1) brightness(1.6); }
/* ชุด Deepwarden ใหม่ยังมีแสงวิ่งของมันเอง (เอกลักษณ์ของชุดใหม่ ของเก่าห้ามมี) */
body[data-zone] .gs2.set-red, body[data-zone] .gs2.set-gold { overflow: visible; }   /* จ๊อบ: เลข +N ของชิ้นเซ็ตโดนตัด (เดิม overflow hidden) แสงวิ่งอยู่ในกรอบ inset 0 อยู่แล้ว ไม่ต้องตัด */
body[data-zone] .gs2.set-red::after, body[data-zone] .gs2.set-gold::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 0%, transparent 42%, var(--sweep) 50%, transparent 58%, transparent 100%); background-size: 300% 100%; animation: starter-sweep 5s ease-in-out infinite; }
body[data-zone] .gs2.set-red::after { --sweep: rgba(255,120,100,.7); }
body[data-zone] .gs2.set-gold::after { --sweep: rgba(255,226,140,.75); }
body[data-zone] .cv-item { margin-top: 8px; padding: 6px 8px; background: #0a1826; border: 2px solid #06101c; }
body[data-zone="desert"] .cv-item { background: #170e06; }
body[data-zone] .cv-item .nm { font: 13px var(--pix); display: flex; align-items: center; gap: 4px; }
body[data-zone] .cv-item .nm .ico { width: 18px; height: 18px; }
body[data-zone] .cv-item .sts { font: 11px var(--pix); color: #9fbad2; margin-top: 3px; }
body[data-zone] .cv-item .jobs { margin-top: 6px; }
body[data-zone] .cv-item .dd .menu { left: 0; right: auto; }
body[data-zone] .cv-foot { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 12px; }
body[data-zone] .cv-foot .dd .menu { left: 0; right: auto; top: auto; bottom: calc(100% + 2px); min-width: 230px; }
body[data-zone] .dd .menu .row.cur { background: #13324a; }
body[data-zone] .dd .menu .row.cur::after { content: '✓'; position: absolute; left: 8px; color: #7fc45a; font-size: 11px; }
body[data-zone] .dd .menu .row.tower { color: #c9a8f0; }
body[data-zone] .dd .menu .row.more { color: #9fbad2; font-size: 11px; cursor: default; display: flex; align-items: center; min-height: 26px; padding: 0 10px; border-top: 1px solid #22405c; font-family: var(--pix); }
body[data-zone] .dd .menu .row .up { color: #7fc45a; font-weight: normal; }
body[data-zone] .dd .menu .row .down { color: #ff9a80; font-weight: normal; }
body[data-zone] .cv-panel .skill-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
/* ท่าเปิดการ์ด (จ๊อบ: โมชั่นแลค) ขยับกล่องห่อด้วย GPU · ระหว่างลอยปิดเงาสติกเกอร์ 5 ชั้น ฟอยล์ ประกาย (เปิดคืนตอนจบ) */
body[data-zone] .cv-cardslot { will-change: transform; transform-origin: 0 0; backface-visibility: hidden; }
body[data-zone] .cv-anim .tc, body[data-zone] .cv-anim .tc .tc-stage { filter: none !important; }
body[data-zone] .cv-anim .tc .tc-foil, body[data-zone] .cv-anim .tc .tc-glare, body[data-zone] .cv-anim .tc .spk, body[data-zone] .cv-anim .tc .layer.holo { display: none !important; }
/* บั๊ก (จ๊อบ 1 ต.ค.): การ์ดใบใหญ่ (z 300) ทับหน้าต่างตีบวก/หน้าต่างยืนยัน (z 50) → หน้าต่างพวกนี้ต้องอยู่บนการ์ดเสมอ */
body[data-zone] .modal, body[data-zone] #temper, body[data-zone] #confirm { z-index: 400 !important; }
body[data-zone] .gs2 .splus { z-index: 2; }

/* การ์ดจิ๋ว: ตัวละครมีแค่ขอบสติกเกอร์ขาว · ปิดแสงทุกอย่างที่มาจากชุด/ตีบวก (การ์ดใบใหญ่เปิดคืนแล้ว 2 ต.ค. ดูข้างบน) */
body[data-zone] .mc .actor .orb, body[data-zone] .mc .actor .wlayer, body[data-zone] .mc .actor .layer { filter: none !important; }
body[data-zone] .mc .actor .obolt, body[data-zone] .mc .actor .bolts { display: none !important; }
