/* LudoPanda Legal Center: additive, scoped cinematic design layer.
   Existing document content, forms and legal routes remain unchanged. */
:root {
  --lp-bg: #07162f;
  --lp-deep: #081327;
  --lp-panel: #12264a;
  --lp-panel-alt: #172b51;
  --lp-outline: rgba(161,185,237,.22);
  --lp-gold: #ffcc3d;
  --lp-text: #f6f8ff;
  --lp-muted: #c0d0ea;
}
html { background: var(--lp-bg); scroll-behavior: smooth; }
body {
  background:
    radial-gradient(ellipse 68% 40% at 82% 8%, rgba(74,42,163,.25), transparent 70%),
    radial-gradient(ellipse 55% 32% at 9% 35%, rgba(28,82,172,.17), transparent 75%),
    linear-gradient(180deg,#08162f 0%,#0b1836 56%,#08152c 100%) !important;
  color: var(--lp-text);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
body, button, input, select, textarea { font-family: Inter, 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; }
body a {text-underline-offset: 3px;}
body a:focus-visible, body button:focus-visible { outline:3px solid var(--lp-gold); outline-offset:3px; }
/* The existing site uses a shared service header. Keep its links and structure. */
.service-header {
  background:rgba(6,17,41,.88) !important;
  border-bottom:1px solid var(--lp-outline) !important;
  box-shadow:0 12px 38px rgba(0,0,0,.12);
  backdrop-filter:blur(15px);
}
.service-header a { color:#e7efff; }
.service-header a:hover { color:var(--lp-gold); }
.service-brand img {object-fit:contain;filter:drop-shadow(0 6px 13px rgba(0,0,0,.18));}
/* Content areas: update color and depth without altering PHP-generated document structure. */
main { color:var(--lp-text); }
main h1, main h2, main h3 { color:var(--lp-text); letter-spacing:-.032em; }
main h1 { font-family:Inter,system-ui,sans-serif !important; font-weight:850 !important; font-stretch:normal; line-height:1.08 !important; overflow-wrap:normal; word-break:normal; text-wrap:balance; font-size:clamp(2.1rem,4.5vw,4.25rem) !important; }
main h2 {line-height:1.14; text-wrap:balance;}
main p, main li { line-height:1.68; }
main small, main .muted, main .lead { color:var(--lp-muted); }
/* Target cards without assuming any particular legal content or routes. */
main article, main .card, main .legal-card, main .topic-card,
main .hero, main .legal-hero, main .panel, main .notice,
main .info-box, main .callout {
  border-color:var(--lp-outline) !important;
  background:linear-gradient(146deg,rgba(29,53,96,.90),rgba(11,30,60,.96)) !important;
  box-shadow:0 16px 46px rgba(0,0,0,.16);
}
main article,main .card,main .legal-card, main .topic-card {transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
@media(hover:hover){
  main a.card:hover,main a.legal-card:hover,main a.topic-card:hover,
  main article:has(> a:hover) {transform:translateY(-3px);border-color:rgba(255,204,61,.65)!important;box-shadow:0 18px 46px rgba(0,0,0,.28),0 0 25px rgba(118,75,235,.09);}
}
main a:not(.btn):not(.button):hover {color:var(--lp-gold);}
main .eyebrow, main .kicker, main .tag, main .overline {color:var(--lp-gold)!important;letter-spacing:.12em;}
main .btn, main .button, main button, main a.primary {
  border-radius:13px;
}
main .btn-primary,main .button-primary,main .primary {
  background:linear-gradient(135deg,#ffe079,#ffbc25)!important;
  color:#07172e!important;
  border-color:#ffdc6c!important;
}
main input, main select, main textarea {background:#0a1b36;color:var(--lp-text);border-color:var(--lp-outline);}
main table {width:100%;max-width:100%;}
main table,main pre {overflow-x:auto;}
footer {border-top-color:var(--lp-outline)!important;color:var(--lp-muted);}
@media(max-width:700px){
  body {overflow-x:hidden;}
  main {width:min(100%,100vw);}
  main h1 {font-size:clamp(2rem,9vw,3.35rem)!important;letter-spacing:-.045em!important;}
  main h2 {font-size:clamp(1.55rem,6vw,2.5rem);}
  main article, main .card, main .legal-card, main .topic-card {min-width:0;}
  .service-header {backdrop-filter:none;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}main article,main .card,main .legal-card,main .topic-card{transition:none!important}}
