/*
 * Contenido de las vacantes (lo que se escribe en CKEditor).
 *
 * ESTE MISMO ARCHIVO vive en dos lugares y deben quedar idénticos:
 *   - Angular:  src/assets/css/vac-contenido.css   (editor de AddVacancies)
 *   - PHP:      Vacancies/Css/vac-contenido.css    (modal de index.php y Vacancies/vacancies.html)
 *
 * Los valores de imágenes, tablas, videos, citas y líneas son los de CKEditor 5 v41 (.ck-content),
 * más la tipografía y el ancho de la "hoja", para que lo que se ve en el editor sea lo que sale en la página.
 * Los tamaños de imagen se guardan en % del ancho, por eso el ancho del contenido es el mismo (760px).
 */

.vac-contenido {
    --vac-navy: #13256b;
    --vac-orange: #ff4a12;
    --vac-ink: #1b2340;
    --vac-muted: #5d6685;

    display: flow-root;
    box-sizing: border-box;
    max-width: 760px;
    margin: 0 auto;
    color: var(--vac-ink);
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    text-align: left;
    word-wrap: break-word;
}

.vac-contenido *,
.vac-contenido *::before,
.vac-contenido *::after { box-sizing: border-box; }

/* ---------------- Texto ---------------- */
.vac-contenido p {
    margin: 0 0 0.8em;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

.vac-contenido h2,
.vac-contenido h3,
.vac-contenido h4 {
    margin: 1.1em 0 0.5em;
    padding: 0;
    color: var(--vac-navy);
    font-family: inherit;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: normal;
}

.vac-contenido h2 { font-size: 1.6em; }
.vac-contenido h3 { font-size: 1.3em; }
.vac-contenido h4 { font-size: 1.1em; }

.vac-contenido > :first-child { margin-top: 0; }

.vac-contenido strong,
.vac-contenido b { font-weight: 700; }
.vac-contenido i,
.vac-contenido em { font-style: italic; }
.vac-contenido u { text-decoration: underline; }
.vac-contenido s { text-decoration: line-through; }

.vac-contenido a {
    color: var(--vac-orange);
    text-decoration: underline;
}

.vac-contenido a:hover { color: #e03a05; }

/* tamaños por clase (contenido viejo); los nuevos se guardan en px */
.vac-contenido .text-tiny { font-size: 0.7em; }
.vac-contenido .text-small { font-size: 0.85em; }
.vac-contenido .text-big { font-size: 1.4em; }
.vac-contenido .text-huge { font-size: 1.8em; }

/* ---------------- Listas ---------------- */
.vac-contenido ul,
.vac-contenido ol {
    margin: 0 0 0.8em;
    padding-left: 1.6em;
}

.vac-contenido ul { list-style-type: disc; }
.vac-contenido ol { list-style-type: decimal; }
.vac-contenido ul ul { list-style-type: circle; }
.vac-contenido ul ul ul { list-style-type: square; }
.vac-contenido li { margin: 0 0 0.25em; }
.vac-contenido li > p { margin: 0; }
.vac-contenido li > ul,
.vac-contenido li > ol { margin: 0.25em 0 0; }

/* ---------------- Cita y línea ---------------- */
.vac-contenido blockquote {
    overflow: hidden;
    margin: 0.9em 0;
    padding: 0.2em 1.5em;
    border-left: solid 5px hsl(0, 0%, 80%);
    font-size: inherit;
    font-style: italic;
}

.vac-contenido blockquote p:last-child { margin-bottom: 0; }

.vac-contenido hr {
    margin: 15px 0;
    height: 4px;
    background: hsl(0, 0%, 87%);
    border: 0;
    opacity: 1;
}

/* ---------------- Imágenes ---------------- */
.vac-contenido img {
    max-width: 100%;
    height: auto;
    border: 0;
    vertical-align: middle;
}

.vac-contenido .image {
    display: table;
    clear: both;
    text-align: center;
    margin: 0.9em auto;
    min-width: 50px;
}

.vac-contenido .image img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    min-width: 100%;
    height: auto;
}

.vac-contenido .image-inline {
    display: inline-flex;
    max-width: 100%;
    align-items: flex-start;
}

.vac-contenido .image-inline picture { display: flex; }

.vac-contenido .image-inline picture,
.vac-contenido .image-inline img {
    flex-grow: 1;
    flex-shrink: 1;
    max-width: 100%;
}

.vac-contenido img.image_resized { height: auto; }

.vac-contenido .image.image_resized {
    max-width: 100%;
    display: block;
}

.vac-contenido .image.image_resized img { width: 100%; }
.vac-contenido .image.image_resized > figcaption { display: block; }

.vac-contenido .image > figcaption {
    display: table-caption;
    caption-side: bottom;
    word-break: break-word;
    color: hsl(0, 0%, 20%);
    background-color: hsl(0, 0%, 97%);
    padding: 0.6em;
    font-size: 0.75em;
}

/* estilos de imagen (alinear / rodear con texto) */
.vac-contenido .image-style-block-align-left,
.vac-contenido .image-style-block-align-right { max-width: calc(100% - 1.5em); }

.vac-contenido .image-style-align-left,
.vac-contenido .image-style-align-right { clear: none; }

.vac-contenido .image-style-side {
    float: right;
    margin-left: 1.5em;
    max-width: 50%;
}

.vac-contenido .image-style-align-left {
    float: left;
    margin-right: 1.5em;
}

.vac-contenido .image-style-align-center {
    margin-left: auto;
    margin-right: auto;
}

.vac-contenido .image-style-align-right {
    float: right;
    margin-left: 1.5em;
}

.vac-contenido .image-style-block-align-right {
    margin-right: 0;
    margin-left: auto;
}

.vac-contenido .image-style-block-align-left {
    margin-left: 0;
    margin-right: auto;
}

.vac-contenido p + .image-style-align-left,
.vac-contenido p + .image-style-align-right,
.vac-contenido p + .image-style-side { margin-top: 0; }

.vac-contenido .image-inline.image-style-align-left,
.vac-contenido .image-inline.image-style-align-right {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
}

.vac-contenido .image-inline.image-style-align-left { margin-right: 0.75em; }
.vac-contenido .image-inline.image-style-align-right { margin-left: 0.75em; }

/* ---------------- Tablas ---------------- */
.vac-contenido .table {
    margin: 0.9em auto;
    display: table;
}

.vac-contenido .table table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    height: 100%;
    border: 1px double hsl(0, 0%, 70%);
    overflow: hidden;
    margin: 0;
    background: transparent;
}

.vac-contenido .table table.ck-table-resized { table-layout: fixed; }

.vac-contenido .table td,
.vac-contenido .table th {
    min-width: 2em;
    padding: 0.4em;
    border: 1px solid hsl(0, 0%, 75%);
    overflow-wrap: break-word;
    vertical-align: top;
    text-align: left;
    font-size: inherit;
}

.vac-contenido .table th {
    font-weight: bold;
    background: hsla(0, 0%, 0%, 5%);
}

.vac-contenido .table td > p:last-child,
.vac-contenido .table th > p:last-child { margin-bottom: 0; }

.vac-contenido .table > figcaption {
    display: table-caption;
    caption-side: top;
    word-break: break-word;
    text-align: center;
    color: hsl(0, 0%, 20%);
    background-color: hsl(0, 0%, 97%);
    padding: 0.6em;
    font-size: 0.75em;
}

/* ---------------- Videos ---------------- */
.vac-contenido .media {
    clear: both;
    margin: 0.9em 0;
    display: block;
    min-width: 15em;
}

/* ---------------- Celular ---------------- */
@media (max-width: 600px) {
    .vac-contenido { font-size: 14.5px; }

    /* las imágenes rodeadas de texto ocupan todo el ancho para que se lean */
    .vac-contenido .image-style-side,
    .vac-contenido .image-style-align-left,
    .vac-contenido .image-style-align-right {
        float: none;
        max-width: 100%;
        margin: 0.9em auto;
    }

    /* las tablas anchas se desplazan de lado */
    .vac-contenido .table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}
