/* ============================================================
   site_listas.css — Estilos específicos das páginas de tutorial
   ------------------------------------------------------------
   Carregado APENAS nas views de tutoriais via @push('styles').
   Contém: listas, callouts, blocos de código e link de lista.
   Usa os design tokens definidos no :root do CSS base.
   ============================================================ */


/* ── Listas de tutorial ──────────────────────────────────────── */

ul {
    list-style-type: none;
    padding-left: 0;
}

ul li {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    color: var(--text-default);
    background-color: var(--violet-50);
    border-left: 4px solid var(--brand-violet-grad);
}

ul li ul li {
    background-color: var(--violet-100);
    border-left-color: var(--brand-indigo-grad);
}

/* Links dentro de listas de tutorial */
li a.link_li {
    color: var(--text-link);
    text-decoration: none;
    font-weight: var(--font-medium);
}

li a.link_li:hover {
    color: var(--text-link-hover);
    text-decoration: underline;
}


/* ── Código inline (dentro de texto / callout) ───────────────── */

p code,
li code,
.callout code {
    font-family: var(--font-mono);
    font-size: 0.9em;
    background: rgba(118, 75, 162, 0.12);
    color: var(--violet-800);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
}


/* ── Caixas de destaque (callouts) ───────────────────────────── */

.callout {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
    padding: var(--space-3) var(--space-4);
    margin: 0 0 var(--space-4);
    border-left: 4px solid;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-snug);
}

.callout svg {
    width: 20px;
    height: 20px;
    flex: none;
    margin-top: 2px;
    stroke: currentColor;
    fill: none;
}

.callout p {
    margin: 0;
}

.callout strong {
    font-weight: var(--font-semibold);
}

/* Variantes — reaproveitam os tokens semânticos do projeto */
.callout.dica {
    background: var(--violet-50);
    border-color: var(--brand-violet-grad);
    color: var(--violet-900);
}

.callout.nota {
    background: var(--color-info-light);
    border-color: var(--color-info);
    color: var(--color-info-dark);
}

.callout.atencao {
    background: var(--color-warning-light);
    border-color: var(--color-warning);
    color: var(--color-warning-dark);
}

.callout.perigo {
    background: var(--color-danger-light);
    border-color: var(--color-danger);
    color: var(--color-danger-dark);
}


/* ── Bloco de código (barra + textarea) ──────────────────────── */
/* A estrutura .code-bloco > (.code-bar + textarea) é criada
   automaticamente pelo site.js — não precisa mexer no blade.   */

.code-bloco {
    margin: 0 0 var(--space-5);
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid var(--slate-800);
    box-shadow: var(--shadow-md);
}

.code-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-2) var(--space-3);
    background: var(--slate-800);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
}

.code-bar .lang {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--slate-400);
}

.code-bar .lang svg {
    width: 14px;
    height: 14px;
    stroke: var(--violet-400, #a78bfa);
    fill: none;
}

.code-copiar {
    display: flex;
    align-items: center;
    gap: 5px;
    background: var(--slate-700);
    color: var(--slate-200);
    border: none;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    cursor: pointer;
    transition: background 0.15s var(--ease-out);
}

.code-copiar:hover {
    background: var(--violet-700);
    color: var(--white);
}

.code-copiar svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
}

/* A textarea em si (com fallback p/ caso o JS não rode) */
.code-bloco textarea,
textarea[readonly] {
    display: block;
    width: 100%;
    resize: none;
    box-sizing: border-box;
    border: none;
    border-radius: 0;
    margin: 0;
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-code);   /* slate-900 */
    color: #7ee787;                     /* verde suave (era #00ff00) */
    font-family: var(--font-mono);
    font-size: 15px;
    line-height: 1.7;
    overflow-y: hidden;
    cursor: pointer;
}


/* ── Tooltip "Copiado!" ──────────────────────────────────────── */

.copiado {
    position: absolute;
    background: var(--slate-800);
    color: #7ee787;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    z-index: 9999;
    pointer-events: none;
    box-shadow: var(--shadow-md);
}