/* ════════════════════════════════════════════════════════════════════════════
   246 · OMNIA PDF LAB — PORTADA
   ----------------------------------------------------------------------------
   SÓLO la portada del módulo (la rejilla de herramientas y el panel de soltar
   archivos). Las pantallas de cada herramienta —zona de subida, opciones,
   miniaturas, editor de marcado— siguen viviendo en `_css()` dentro de
   `public/js/246-powerpdf.js` y NO se tocan desde aquí: cambiarlas sería
   arriesgar funciones que ya trabajan bien por un asunto de aspecto.

   Por eso TODO lo de este archivo lleva el prefijo `pl246-`, que no existía
   antes en ninguna parte. Ni una sola regla pisa a `.ppdf-*`.

   ── DÍA Y NOCHE ────────────────────────────────────────────────────────────
   Nada de colores del tema escritos a mano: fondo, bordes y texto salen de
   `--bg/--bg2/--bg3/--border/--text/--text2/--dim/--accent/--on-accent`, que
   es lo que conmuta `[data-mode]` en el `<html>`. Lo ÚNICO con valor propio es
   la paleta por herramienta del bloque 1, y está declarada en un solo sitio.

   ── ALTO ───────────────────────────────────────────────────────────────────
   NO hay ni un `calc(100vh - N)`. El alto se hereda de la página; calcularlo
   contra la ventana fue lo que recortó HUMANZ entero en 4.3.226.
   ════════════════════════════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────────────────────────────
   1 · PALETA POR HERRAMIENTA          ·  PALETA:INICIO
   ------------------------------------------------------------------------
   Cada tarjeta lleva su propio color en el cuadro del icono: es lo que
   permite reconocer «unir» o «comprimir» de un vistazo sin leer el título, y
   es lo que pedía el mockup. El tema de OMNIA no tiene siete acentos, así
   que estos SIETE valores son la única excepción del archivo, y viven aquí
   dentro para que se puedan revisar de un golpe.

   Se declaran como `--pl-c` (un solo nombre) por herramienta: las reglas de
   más abajo nunca vuelven a mencionar un color, sólo `var(--pl-c)`.

   El selector es `[data-tool="…"]` y no una clase: así vale igual para la
   tarjeta de la rejilla y para el renglón de «Comienza rápido», que son la
   misma herramienta y tienen que salir del mismo color.

   Los valores de DÍA están medidos contra el fondo claro (`--bg2:#ffffff`) y
   los de NOCHE contra el casi negro (`--bg2:#161b22`); ambos por encima de
   3:1, que es el mínimo de un elemento gráfico. El rojo de `dividir` es el
   de la marca PDF Lab (`--mk-acc` de MOD-288), a propósito. */

/* Respaldo primero: si mañana se añade una herramienta y nadie le pone color,
   hereda el acento del tema en vez de quedarse sin nada. Especificidad menor
   que la de los siete de abajo, así que el orden no la vuelve un problema. */
.pl246-tool, .pl246-q{ --pl-c:var(--accent); }

.pl246 [data-tool="unir"]      { --pl-c:#7c5cfa; }
.pl246 [data-tool="dividir"]   { --pl-c:#d92c31; }
.pl246 [data-tool="organizar"] { --pl-c:#b3760d; }
.pl246 [data-tool="img2pdf"]   { --pl-c:#128a58; }
.pl246 [data-tool="pdf2img"]   { --pl-c:#0b7f99; }
.pl246 [data-tool="comprimir"] { --pl-c:#2563eb; }
.pl246 [data-tool="editar"]    { --pl-c:#b02594; }

[data-mode="noche"] .pl246 [data-tool="unir"]      { --pl-c:#a78bfa; }
[data-mode="noche"] .pl246 [data-tool="dividir"]   { --pl-c:#ff6369; }
[data-mode="noche"] .pl246 [data-tool="organizar"] { --pl-c:#f5b23f; }
[data-mode="noche"] .pl246 [data-tool="img2pdf"]   { --pl-c:#4ade80; }
[data-mode="noche"] .pl246 [data-tool="pdf2img"]   { --pl-c:#38bdf8; }
[data-mode="noche"] .pl246 [data-tool="comprimir"] { --pl-c:#60a5fa; }
[data-mode="noche"] .pl246 [data-tool="editar"]    { --pl-c:#f472b6; }
/*                                    ·  PALETA:FIN */

/* ────────────────────────────────────────────────────────────────────────
   2 · LIENZO
   ------------------------------------------------------------------------
   Un ancho máximo generoso y centrado, como Notion o Linear: la rejilla de
   cuatro columnas en un monitor de 27" sin tope se vuelve ilegible. */
.pl246{ max-width:1180px; margin:0 auto; }

/* ── 2.1 · Cabecera de marca ──────────────────────────────────────────────
   El matraz vectorial de MOD-288 (`data-marca="powerpdf"`) + la palabra, y
   debajo el «by OMNIA». El tamaño se fuerza con una especificidad mayor que
   la de `.mk-ico:not([class*="-ico-img"])`, que da 20 px por defecto. */
.pl246-brand{ display:flex; align-items:center; gap:10px; }
.pl246-brand span.mk-ico{ width:30px; height:30px; }
.pl246-brand .pl246-wm{
    font-size:15px; font-weight:800; letter-spacing:.13em; line-height:1.05;
    color:var(--text); text-transform:uppercase;
}
.pl246-brand .pl246-by{
    display:block; margin-top:3px;
    font-size:10px; font-weight:600; letter-spacing:.22em;
    color:var(--dim); text-transform:uppercase;
}

.pl246-h1{
    margin:22px 0 6px; font-size:34px; font-weight:800;
    letter-spacing:-.015em; line-height:1.05; color:var(--text);
}
.pl246-lead{
    margin:0 0 22px; max-width:62ch;
    font-size:14px; line-height:1.6; color:var(--text2);
}

/* ── 2.2 · Fila de arriba: soltar archivo + comienzo rápido ───────────────
   Dos columnas asimétricas. `minmax(0,…)` en las dos para que un nombre de
   archivo largo no ensanche la rejilla. */
.pl246-top{
    display:grid; gap:16px; align-items:stretch;
    grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);
}

/* ── 2.3 · Panel de arrastrar y soltar ────────────────────────────────────
   Es un <button> de verdad, no un <div> con onclick: así entra con Tab, se
   dispara con Enter y el lector de pantalla lo anuncia. */
.pl246-drop{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:4px; width:100%; box-sizing:border-box;
    min-height:262px; padding:34px 26px;
    background:var(--bg2);
    border:2px dashed var(--border); border-radius:18px;
    color:inherit; font-family:inherit; text-align:center;
    cursor:pointer; transition:border-color .16s, background .16s, transform .16s;
}
.pl246-drop:hover, .pl246-drop:focus-visible{
    border-color:var(--accent);
    background:color-mix(in srgb, var(--accent) 5%, var(--bg2));
    outline:none;
}
.pl246-drop.pl246-over{
    border-color:var(--accent); border-style:solid;
    background:color-mix(in srgb, var(--accent) 11%, var(--bg2));
    transform:scale(1.005);
}
.pl246-drop-ic{
    display:grid; place-items:center;
    width:58px; height:58px; margin-bottom:12px; border-radius:16px;
    background:color-mix(in srgb, var(--accent) 12%, transparent);
    color:var(--accent); font-size:23px;
}
.pl246-drop b{ font-size:17px; font-weight:700; color:var(--text); }
.pl246-drop .pl246-or{ font-size:13px; color:var(--dim); }
.pl246-drop .pl246-note{ margin-top:12px; font-size:11px; line-height:1.5; color:var(--dim); }

/* El botón primario del panel es decorativo: el clic lo recoge el panel
   entero, así que no debe robar el foco ni parecer un control aparte. */
.pl246-cta{
    margin-top:14px; padding:10px 22px; border:0; border-radius:10px;
    background:var(--accent); color:var(--on-accent);
    font-family:inherit; font-size:13px; font-weight:700; letter-spacing:.04em;
    pointer-events:none;
}

/* Estado «ya hay archivo esperando»: el panel lo dice y las tarjetas se
   encienden, porque el siguiente paso es elegir herramienta. */
.pl246-drop.pl246-listo{ border-style:solid; border-color:var(--green); }
.pl246-drop.pl246-listo .pl246-drop-ic{
    background:color-mix(in srgb, var(--green) 14%, transparent); color:var(--green);
}

/* ── 2.4 · Comienza rápido ────────────────────────────────────────────────── */
.pl246-quick{
    display:flex; flex-direction:column;
    padding:20px; box-sizing:border-box;
    background:var(--bg2); border:1px solid var(--border); border-radius:18px;
}
.pl246-quick h3{
    margin:0 0 14px; font-size:11px; font-weight:700; letter-spacing:.14em;
    text-transform:uppercase; color:var(--dim);
}
.pl246-q{
    display:flex; align-items:center; gap:12px; width:100%; box-sizing:border-box;
    padding:11px 12px; margin-bottom:6px;
    background:none; border:1px solid transparent; border-radius:12px;
    color:inherit; font-family:inherit; text-align:left;
    cursor:pointer; transition:background .14s, border-color .14s;
}
.pl246-q:hover, .pl246-q:focus-visible{
    background:var(--bg3); border-color:var(--border); outline:none;
}
.pl246-q i{
    display:grid; place-items:center; flex:none;
    width:34px; height:34px; border-radius:10px; font-size:14px;
    background:color-mix(in srgb, var(--pl-c) 14%, transparent);
    color:var(--pl-c);
}
.pl246-q b{ display:block; font-size:13px; font-weight:650; color:var(--text); }
.pl246-q small{ display:block; margin-top:2px; font-size:11px; color:var(--dim); }

/* ── 2.5 · Franja de privacidad ───────────────────────────────────────────
   No pierde tamaño ni sitio respecto a la portada anterior: sigue a ancho
   completo y ANTES de las herramientas, que es por donde pasa la vista. */
.pl246-priv{
    display:flex; align-items:flex-start; gap:12px;
    margin:16px 0 0; padding:14px 16px;
    background:color-mix(in srgb, var(--green) 8%, var(--bg2));
    border:1px solid color-mix(in srgb, var(--green) 32%, transparent);
    border-radius:14px;
}
.pl246-priv > i{ flex:none; margin-top:2px; color:var(--green); font-size:14px; }
.pl246-priv > div{ flex:1; min-width:0; }
.pl246-priv b{ display:block; font-size:13px; font-weight:700; color:var(--green); }
.pl246-priv span{ display:block; margin-top:3px; font-size:12px; line-height:1.55; color:var(--text2); }

/* ── 2.6 · Rejilla de herramientas ───────────────────────────────────────── */
.pl246-sec{
    margin:30px 0 12px; font-size:12px; font-weight:700; letter-spacing:.14em;
    text-transform:uppercase; color:var(--dim);
}
.pl246-grid{
    display:grid; gap:12px;
    grid-template-columns:repeat(4, minmax(0,1fr));
}
.pl246-tool{
    display:flex; align-items:flex-start; gap:12px; width:100%; box-sizing:border-box;
    padding:16px; text-align:left;
    background:var(--bg2); border:1px solid var(--border); border-radius:16px;
    color:inherit; font-family:inherit; cursor:pointer;
    transition:border-color .15s, background .15s, transform .15s, box-shadow .15s;
}
.pl246-tool:hover, .pl246-tool:focus-visible{
    border-color:color-mix(in srgb, var(--pl-c) 55%, var(--border));
    background:color-mix(in srgb, var(--pl-c) 5%, var(--bg2));
    transform:translateY(-2px);
    box-shadow:0 10px 24px color-mix(in srgb, var(--pl-c) 14%, transparent);
    outline:none;
}
.pl246-tool .pl246-ic{
    display:grid; place-items:center; flex:none;
    width:40px; height:40px; border-radius:12px; font-size:16px;
    background:color-mix(in srgb, var(--pl-c) 14%, transparent);
    color:var(--pl-c);
}
.pl246-tool .pl246-txt{ flex:1; min-width:0; }
.pl246-tool b{
    display:block; margin-bottom:4px;
    font-size:13px; font-weight:700; letter-spacing:.01em; color:var(--text);
}
/* Dos renglones exactos: con descripciones de largo distinto, sin tope las
   tarjetas de una fila quedan de alturas diferentes y la rejilla baila.
   El selector va atado a `.pl246-txt` a propósito: un `.pl246-tool span` a
   secas también alcanzaría al cuadro del icono y al propio envoltorio, y les
   metería el recorte de dos líneas. */
.pl246-tool .pl246-txt > span{
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    font-size:11.5px; line-height:1.45; color:var(--dim);
}
.pl246-tool .pl246-go{
    flex:none; align-self:center; margin-left:2px;
    font-size:15px; color:var(--dim); opacity:.55; transition:transform .15s, opacity .15s, color .15s;
}
.pl246-tool:hover .pl246-go, .pl246-tool:focus-visible .pl246-go{
    color:var(--pl-c); opacity:1; transform:translateX(3px);
}

/* Cuando hay un archivo esperando, las tarjetas son el siguiente paso. */
.pl246.pl246-esperando .pl246-tool{
    border-color:color-mix(in srgb, var(--pl-c) 40%, var(--border));
}

/* ── 2.7 · Anchos ─────────────────────────────────────────────────────────
   Sólo se recolocan columnas. Ningún alto depende de la ventana. */
@media (max-width:1180px){ .pl246-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:980px){
    .pl246-top{ grid-template-columns:minmax(0,1fr); }
    .pl246-drop{ min-height:210px; }
}
@media (max-width:760px){
    .pl246-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
    .pl246-h1{ font-size:27px; }
}
@media (max-width:520px){
    .pl246-grid{ grid-template-columns:minmax(0,1fr); }
}

/* Quien pidió que no se muevan las cosas, manda. */
@media (prefers-reduced-motion:reduce){
    .pl246-drop, .pl246-tool, .pl246-tool .pl246-go{ transition:none; }
    .pl246-tool:hover, .pl246-drop.pl246-over{ transform:none; }
}
