/* JHALLU v6.0 — ticker off, mini cute radio, animation layer, 3D cards.
   Loads AFTER v59.css, so equal-specificity rules here win. */

/* ===== 1) News-line ticker OFF (owner: it does not look good) ===== */
.jticker { display:none !important; }
marquee { display:none !important; }

/* ===== 2) Radio: MINI CUTE pill ===== */
.jradio { max-width:208px; border-radius:99px; bottom:10px; left:10px; overflow:hidden; animation:jrIn .45s ease both; }
@keyframes jrIn { from { transform:translateY(16px); opacity:0; } to { transform:none; opacity:1; } }
.jradio-in { padding:5px 8px; gap:7px; align-items:center; }
.jradio .rname, .jradio .rtitle .s { display:none; }
.jradio .rbtn { width:31px; height:31px; font-size:11px; }
.jradio .rbtn.main { width:38px; height:38px; font-size:15px; }
.jradio .rtitle { min-width:0; }
.jradio .rtitle .t { font-size:11.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jradio .rexp { width:24px; height:24px; font-size:11px; }
.jradio.open { max-width:480px; border-radius:20px; }
.jradio.open .rprog { display:block; height:5px; background:rgba(255,255,255,.18); margin-top:6px; }
.jradio.playing { animation:jrPulse 2.2s ease-in-out infinite; }
@keyframes jrPulse { 0%,100% { box-shadow:0 0 0 0 rgba(0,229,255,.35), 0 8px 30px rgba(0,0,0,.5); } 50% { box-shadow:0 0 0 7px rgba(0,229,255,0), 0 8px 30px rgba(0,0,0,.5); } }
.jcookie { bottom:72px; }
body { padding-bottom:78px; }
@media (max-width:560px){ .jradio { max-width:192px; } .jradio.open { max-width:calc(100vw - 20px); } }

/* ===== 3) Animation layer — sections rise in, headings shine, cards lift ===== */
.rv2 { opacity:0; transform:translateY(22px); }
.rv2.on { opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease; }
@supports ((-webkit-background-clip:text) or (background-clip:text)) {
  .wrap h1, .sec h2, .head h1 {
    background:linear-gradient(90deg, #ffffff 20%, #8beffa 40%, #ffffff 60%);
    background-size:220% auto;
    -webkit-background-clip:text; background-clip:text;
    color:transparent;
    animation:jhShine 7s linear infinite;
  }
}
@keyframes jhShine { to { background-position:220% center; } }
.svc { transition:transform .25s ease, box-shadow .25s ease; will-change:transform; }
.svc:hover { box-shadow:0 16px 34px rgba(0,0,0,.55), 0 0 22px rgba(0,229,255,.16); }
.btn, .wp-block-button__link { transition:transform .15s ease, box-shadow .15s ease; }
.btn:hover, .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,229,255,.25); }
@media (prefers-reduced-motion: reduce){
  .jradio, .jradio.playing { animation:none; }
  .wrap h1, .sec h2, .head h1 { animation:none; }
  .rv2 { opacity:1; transform:none; }
}

/* ===== 4) TOOLS polish — per-tool logo badges, catchy cards, proper text boxes ===== */
.jtool-ic { font-size:29px; width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:16px; margin:0 auto 10px; background:radial-gradient(circle at 32% 28%, rgba(0,229,255,.35), rgba(0,229,255,.07) 62%); border:1px solid rgba(0,229,255,.5); box-shadow:0 0 18px rgba(0,229,255,.28), inset 0 0 14px rgba(0,229,255,.12); }
.jtool-badge { text-align:center; margin:6px auto 4px; }
.jtool-badge .jtool-ic { width:74px; height:74px; font-size:37px; border-radius:20px; margin-bottom:6px; }
.jtool-card { position:relative; overflow:hidden; }
.jtool-card::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 30%, rgba(139,239,250,.09) 48%, transparent 62%); transform:translateX(-120%); pointer-events:none; }
.jtool-card:hover::after { transform:translateX(120%); transition:transform .8s ease; }
.wrap input[type="text"], .wrap input[type="number"], .wrap input[type="file"], .wrap textarea, .wrap select {
  background:#0a1216; border:1px solid rgba(0,229,255,.35); border-radius:12px; padding:12px 14px; color:#e8f6f8; font-size:14.5px; max-width:100%;
}
.wrap input[type="text"]:focus, .wrap input[type="number"]:focus, .wrap textarea:focus, .wrap select:focus {
  outline:none; border-color:#00E5FF; box-shadow:0 0 0 3px rgba(0,229,255,.18), 0 0 18px rgba(0,229,255,.12);
}
.wrap input[type="file"]::file-selector-button {
  background:#00E5FF; color:#02141a; border:0; border-radius:9px; padding:9px 16px; font-weight:800; letter-spacing:1px; cursor:pointer; margin-right:12px;
}
.wrap textarea { line-height:1.65; }

/* ===== 5) v6.0.1 HOTFIX — homepage nav styles (they live inline in header.php, which the front page never loads), radio layout, overflow ===== */
.jh-fh { position:sticky; top:0; z-index:60; background:rgba(3,5,8,.92); border-bottom:1px solid rgba(0,229,255,.22); backdrop-filter:blur(8px); }
.jh-fh .site-nav { max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding:14px 20px; font-size:12px; letter-spacing:2.5px; color:#b8c4bb; flex-wrap:wrap; gap:10px; font-family:Arial,Helvetica,sans-serif; }
.jh-fh .site-nav a { color:#b8c4bb; text-decoration:none; margin:0 9px; }
.jh-fh .site-nav a:hover { color:#00E5FF; }
.jh-fh .site-nav .brand { color:#fff; font-size:16px; letter-spacing:4px; font-weight:900; text-decoration:none; text-shadow:0 0 14px rgba(255,255,255,.35), 0 0 30px rgba(0,229,255,.35); }
.jh-fh .site-nav .cta { border:1px solid #00E5FF; color:#00E5FF; border-radius:999px; padding:7px 15px; letter-spacing:1.5px; }
@media (max-width:640px){ .jh-fh .site-nav { justify-content:center; text-align:center; font-size:11px; letter-spacing:1.6px; padding:11px 10px; } .jh-fh .site-nav .brand { font-size:15px; } }
body:has(.jh-fh) { overflow-x:clip; }
/* Radio: mini state keeps play + title only (prev/next return when open) */
.jradio:not(.open) #jrPrev, .jradio:not(.open) #jrNext { display:none; }
.jradio { max-width:224px; }
.jradio .rtitle .t { font-size:12px; }
/* Radio open: title + progress get their own full-width row */
.jradio.open .jradio-in { flex-wrap:wrap; }
.jradio.open .rtitle { flex:1 1 100%; order:6; margin-top:3px; }
.jradio.open .rtitle .t { font-size:13px; }
.jradio.open .rprog { display:block; height:6px; background:rgba(255,255,255,.22); border-radius:4px; margin-top:6px; }
.jradio.open .rvol { order:7; }
.jradio.open .rchips { order:8; }
/* Card hover lift fallback (visible even before JS tilt) */
.svc { transition:transform .25s ease, box-shadow .25s ease; }
.svc:hover { transform:translateY(-4px); }

/* ===== 6) v6.0.2 — reveal strength (visible rise, unmistakable) ===== */
.rv2 { opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s ease; }
.rv2.on { opacity:1; transform:none; }
