/* USLicenseInfo v23 — visual polish layer. Keeps existing templates and behavior intact. */
:root{
  --uli-font-v23: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --uli-blue:#1769d2;
  --uli-navy:#082b57;
  --uli-red:#e31b23;
}
html,body{font-family:var(--uli-font-v23)!important}
body *{font-family:inherit}
a,a:hover,a:focus{text-decoration:none!important}

/* Flag favicon is handled in functions.php. */

/* Homepage: more refined category artwork */
.uli-category-image{
  position:relative;
  height:148px!important;
  background:
    radial-gradient(circle at 20% 20%,rgba(23,105,210,.10) 0 2px,transparent 3px),
    linear-gradient(135deg,#eef6ff 0%,#f8fbff 62%,#edf4fb 100%)!important;
  border-bottom:1px solid #e3edf7;
}
.uli-category-image:before{
  content:"";position:absolute;width:108px;height:108px;border-radius:50%;
  border:1px solid rgba(23,105,210,.10);box-shadow:0 0 0 18px rgba(23,105,210,.035),0 0 0 36px rgba(23,105,210,.02);
}
.uli-category-image:after{
  content:"";position:absolute;right:18px;top:18px;width:28px;height:28px;border-radius:9px;
  background:rgba(227,27,35,.08);border:1px solid rgba(227,27,35,.12);transform:rotate(12deg);
}
.uli-category-image img{
  position:relative!important;z-index:2;width:58px!important;height:58px!important;object-fit:contain!important;
  padding:13px;border-radius:17px;background:#fff;border:1px solid #d6e6f6;
  box-shadow:0 12px 28px rgba(8,43,87,.12);transition:transform .25s ease,box-shadow .25s ease;
}
.uli-category:hover .uli-category-image img{transform:translateY(-3px) scale(1.04)!important;box-shadow:0 16px 30px rgba(8,43,87,.16)}
.uli-category-body{padding:18px 19px 19px!important}
.uli-category-body strong{font-size:17px!important;letter-spacing:-.2px}
.uli-category-body small{font-size:11.5px!important}
.uli-arrow{border-top:1px solid #edf1f5;padding-top:12px}

/* Better step icons */
.uli-how-icon{
  width:62px!important;height:62px!important;border-radius:18px!important;
  background:linear-gradient(145deg,#edf6ff,#fff)!important;border:1px solid #d5e6f8!important;
  box-shadow:0 10px 24px rgba(8,43,87,.08);position:relative;overflow:hidden;
}
.uli-how-icon:after{content:"";position:absolute;right:-10px;bottom:-10px;width:30px;height:30px;border-radius:50%;background:rgba(227,27,35,.07)}
.uli-how-icon img{width:29px!important;height:29px!important;position:relative;z-index:2}

/* State tiles: stronger visual identity without new image dependencies */
.uli-state-icon{position:relative;width:46px!important;height:46px!important;border-radius:14px!important;background:linear-gradient(145deg,#edf6ff,#fff)!important;border:1px solid #d5e6f8!important;display:grid!important;place-items:center!important;box-shadow:0 7px 18px rgba(8,43,87,.06)}
.uli-state-icon:after{content:"";position:absolute;inset:6px;border:1px dashed rgba(23,105,210,.16);border-radius:10px}
.uli-state-icon img{position:relative;z-index:2}

/* Hero artwork: subtle document/map motif behind the existing Capitol image */
.uli-hero-visual:before{
  content:"";position:absolute;right:-20px;top:58px;width:280px;height:280px;border:1px solid rgba(255,255,255,.10);border-radius:42% 58% 55% 45%;transform:rotate(18deg);box-shadow:0 0 0 28px rgba(255,255,255,.018),0 0 0 56px rgba(255,255,255,.012);pointer-events:none;
}
.uli-hero-visual:after{
  content:"LICENSE • STATE • REQUIREMENTS";position:absolute;right:18px;top:12px;padding:8px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:rgba(255,255,255,.62);font-size:8px;font-weight:800;letter-spacing:.13em;background:rgba(255,255,255,.035);pointer-events:none;
}

/* Homepage proof chips */
.uli-hero-proof span{padding:7px 10px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.035)}

/* Directory guide cards */
.ulg-guide-card{position:relative;overflow:hidden}
.ulg-guide-card:before{content:"";position:absolute;right:-32px;top:-32px;width:90px;height:90px;border-radius:50%;border:1px solid rgba(23,105,210,.10);box-shadow:0 0 0 15px rgba(23,105,210,.025);pointer-events:none}
.ulg-guide-tag{display:inline-flex;align-items:center;gap:5px}

/* Remove decorative underlines that survived older template styles */
.uli-content-page a:hover,.uli-directory-page a:hover,.uli-states-page a:hover,.uli-types-page a:hover{text-decoration:none!important}

@media(max-width:650px){
  .uli-category-image{height:128px!important}
  .uli-category-image:before{width:92px;height:92px}
  .uli-category-image img{width:54px!important;height:54px!important}
  .uli-hero-visual:before{right:-80px;top:80px}
  .uli-hero-visual:after{display:none}
}
