/* GlobalJuris — CSS complementar ao Tailwind (Play CDN).
   Tokens-espelho das cores definidas no tailwind.config inline do layout. */

:root {
    --navy: #0e1d38;
    --gold: #b08d57;
    --cream: #f7f4ee;
    --ink: #16203a;
    --muted: #5b6472;
}

body { -webkit-font-smoothing: antialiased; }

/* Serif de display com ajuste óptico/contraste */
.font-serif { font-optical-sizing: auto; letter-spacing: -0.01em; }
h1, h2, h3 { text-wrap: balance; }

/* Micro-label monospace maiúscula (PORTUGAL · BRASIL, ÁREAS DE PRÁTICA, 01/02/03) */
.label-mono {
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.6875rem; /* 11px */
    color: var(--gold);
}

/* Logo textual */
.logo { font-family: 'Fraunces', Georgia, serif; font-weight: 500; letter-spacing: -0.01em; }
.logo em { font-style: italic; font-weight: 400; }

/* ---- Dropdown do menu (desktop: hover; mobile: classe .open via JS) ---- */
.has-dropdown > .dropdown {
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
@media (min-width: 1024px) {
    .has-dropdown:hover > .dropdown,
    .has-dropdown:focus-within > .dropdown {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}
/* Mobile: submenu controlado por JS */
@media (max-width: 1023px) {
    .dropdown { display: none; position: static !important; box-shadow: none !important; }
    .has-dropdown.open > .dropdown { display: block; opacity: 1; visibility: visible; transform: none; }
}

/* ---- Drawer mobile ---- */
#mobile-menu {
    transition: transform .28s ease, opacity .28s ease;
    transform: translateX(100%);
}
#mobile-menu.open { transform: translateX(0); }
body.menu-open { overflow: hidden; }

/* Links do footer */
.footer-link { transition: color .15s ease; }
.footer-link:hover { color: #fff; }

/* Cartões: leve elevação no hover */
.card-hover { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card-hover:hover { transform: translateY(-3px); box-shadow: 0 10px 30px -12px rgba(14,29,56,.18); }

/* ---- Corpo dos artigos (Rich Editor) ---- */
.post-body { color: rgba(14,29,56,.85); font-size: 15.5px; line-height: 1.75; }
.post-body > * + * { margin-top: 1.1rem; }
.post-body h2, .post-body h3, .post-body h4 {
    font-family: 'Fraunces', Georgia, serif;
    color: #0e1d38; line-height: 1.25; margin-top: 2rem;
}
.post-body h2 { font-size: 1.6rem; }
.post-body h3 { font-size: 1.3rem; }
.post-body h4 { font-size: 1.1rem; }
.post-body ul, .post-body ol { padding-left: 1.4rem; }
.post-body ul { list-style: disc; }
.post-body ol { list-style: decimal; }
.post-body li { margin-top: .4rem; }
.post-body a { color: #b08d57; text-decoration: underline; }
.post-body a:hover { color: #8a6d41; }
.post-body strong { color: #0e1d38; font-weight: 600; }
.post-body blockquote {
    border-left: 3px solid #b08d57; padding-left: 1rem;
    color: rgba(14,29,56,.7); font-style: italic;
}
