/*
 * Ficha PDF de producto (vista ?ficha=pdf). Hoja A4 a 96 dpi: 794 x 1122 px.
 * Formato tomado de Catalogo_FS902C_GAESA.pdf. Ver inc/ficha-pdf.php.
 */

:root {
    --fp-azul: #1f3a93;
    --fp-celeste: #29b5e8;
    --fp-celeste-claro: #bfe9fb;
    --fp-caja: #eef6fb;
    --fp-linea: #d5dde6;
    --fp-texto: #2b3440;
    --fp-gris: #5c6674;
    --fp-pie-texto: #0b2545;
    --fp-ancho: 794px;
    --fp-alto: 1122px;
    --fp-margen: 48px;
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    background: #e9edf2;
    color: var(--fp-texto);
    font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* ---------- Barra de acciones (no sale en el PDF) ---------- */

.fp-barra {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #fff;
    border-bottom: 1px solid var(--fp-linea);
    font-size: 14px;
}

.fp-barra__volver { color: var(--fp-azul); text-decoration: none; font-weight: 600; margin-right: auto; }
.fp-barra__estado { color: var(--fp-gris); }

.fp-barra__btn {
    font: 600 14px/1 "Barlow", Arial, sans-serif;
    padding: 10px 16px;
    border-radius: 6px;
    border: 1px solid var(--fp-azul);
    background: var(--fp-azul);
    color: #fff;
    cursor: pointer;
}
.fp-barra__btn--sec { background: #fff; color: var(--fp-azul); }
.fp-barra__btn[disabled] { opacity: .6; cursor: progress; }

.fp-escena { padding: 24px 16px 48px; overflow-x: auto; }

/* ---------- Hoja ---------- */

.fp-pagina {
    width: var(--fp-ancho);
    min-height: var(--fp-alto);
    margin: 0 auto;
    background: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: 0 6px 30px rgba(11, 37, 69, .18);
}

/* Cabecera */
.fp-cabecera {
    background: var(--fp-azul);
    color: #fff;
    padding: 34px var(--fp-margen) 28px;
    display: flex;
    align-items: flex-end;
    gap: 24px;
}
.fp-cabecera__texto { flex: 1; min-width: 0; }

.fp-linea {
    margin: 0 0 10px;
    font: 600 12px/1.2 "Barlow Condensed", Arial, sans-serif;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--fp-celeste-claro);
}

.fp-titulo {
    margin: 0;
    font: 700 80px/.92 "Barlow Condensed", Arial, sans-serif;
    letter-spacing: -.005em;
    word-break: break-word;
}
.fp-titulo--medio  { font-size: 60px; }
.fp-titulo--nombre { font-size: 40px; line-height: 1.02; }
.fp-titulo--chico  { font-size: 32px; }

.fp-subtitulo { margin: 10px 0 0; font-size: 19px; line-height: 1.3; font-weight: 400; }

.fp-etiqueta {
    flex: none;
    margin-bottom: 4px;
    padding: 10px 16px;
    border: 1.5px solid rgba(255, 255, 255, .85);
    border-radius: 6px;
    font: 600 12px/1 "Barlow Condensed", Arial, sans-serif;
    letter-spacing: .22em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Foto + datos destacados */
.fp-intro {
    display: flex;
    gap: 34px;
    padding: 24px var(--fp-margen) 6px;
}

.fp-foto {
    flex: 0 0 360px;
    height: 330px;
    background: #fff center / contain no-repeat;
}

.fp-intro__datos { flex: 1; min-width: 0; padding-top: 22px; }

.fp-datos { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }

.fp-dato {
    flex: 0 0 calc(50% - 6px);
    background: var(--fp-caja);
    border-radius: 8px;
    padding: 16px 16px 14px;
}
.fp-dato strong {
    display: block;
    font: 700 34px/1 "Barlow Condensed", Arial, sans-serif;
    color: var(--fp-azul);
    word-break: break-word;
}
.fp-dato span { display: block; margin-top: 6px; font-size: 13px; color: #4a5565; }

.fp-resumen { margin: 0; font-size: 14px; line-height: 1.7; color: var(--fp-gris); }
.fp-resumen--solo { font-size: 16px; line-height: 1.75; padding-top: 20px; }

/* Características + ficha técnica */
.fp-cuerpo {
    display: flex;
    gap: 36px;
    padding: 18px var(--fp-margen) 30px;
}
.fp-col { flex: 1; min-width: 0; }
.fp-cuerpo--una .fp-col { flex: 0 0 60%; margin-left: auto; margin-right: auto; }

.fp-h2 {
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--fp-azul);
    font: 700 25px/1.1 "Barlow Condensed", Arial, sans-serif;
    text-transform: uppercase;
    color: var(--fp-azul);
}

/* Viñetas dibujadas: html2canvas 1.0 no pinta bien los marcadores nativos. */
.fp-lista { margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.5; }
.fp-lista li { position: relative; margin: 0 0 7px; padding-left: 20px; }
.fp-lista li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: .62em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--fp-texto);
}

.fp-tabla { width: 100%; border-collapse: collapse; font-size: 14px; }
.fp-tabla th,
.fp-tabla td { padding: 8px 0; border-bottom: 1px solid var(--fp-linea); vertical-align: top; }
.fp-tabla th { text-align: left; font-weight: 400; color: #4a5565; padding-right: 12px; }
.fp-tabla td { text-align: right; font-weight: 600; color: #1b2230; }

/* Pie */
.fp-pie {
    margin-top: auto;
    background: var(--fp-celeste);
    color: var(--fp-pie-texto);
    padding: 22px var(--fp-margen);
    display: flex;
    align-items: center;
    gap: 24px;
}
.fp-pie__texto { flex: 1; min-width: 0; }
.fp-pie__rubro {
    margin: 0 0 6px;
    font: 600 14px/1.45 "Barlow Condensed", Arial, sans-serif;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.fp-pie__contacto { margin: 0; font-size: 13px; letter-spacing: .02em; }

.fp-marca {
    flex: none;
    width: 200px;
    border-radius: 6px;
    overflow: hidden;
    text-align: center;
    background: #00b6eb;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .35);
}
.fp-marca__logo { display: block; background: #fff; padding: 8px 14px; }
.fp-marca__logo img { display: block; width: 100%; height: auto; }
.fp-marca__lema {
    display: block;
    padding: 5px 6px;
    font: 600 12px/1.2 "Barlow", Arial, sans-serif;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #fff;
}

/* Contenido largo: se compacta para entrar en una hoja (lo activa el JS). */
.fp-compacta .fp-intro { padding-top: 18px; }
.fp-compacta .fp-foto { flex-basis: 300px; height: 270px; }
.fp-compacta .fp-intro__datos { padding-top: 6px; }
.fp-compacta .fp-dato { padding: 12px 14px 10px; }
.fp-compacta .fp-dato strong { font-size: 28px; }
.fp-compacta .fp-resumen { font-size: 13px; line-height: 1.55; }
.fp-compacta .fp-cuerpo { padding-top: 10px; padding-bottom: 20px; }
.fp-compacta .fp-lista,
.fp-compacta .fp-tabla { font-size: 12.5px; }
.fp-compacta .fp-lista li { margin-bottom: 4px; }
.fp-compacta .fp-tabla th,
.fp-compacta .fp-tabla td { padding: 5px 0; }

/* Mientras se genera el PDF: sin sombra ni márgenes. */
.fp-capturando .fp-pagina { box-shadow: none; }

/* ---------- Impresión ---------- */
@page { size: A4; margin: 0; }

@media print {
    html, body { background: #fff; }
    .fp-barra { display: none; }
    .fp-escena { padding: 0; overflow: visible; }
    .fp-pagina { box-shadow: none; margin: 0; width: 210mm; min-height: 297mm; }
}
