/* ==========================================================
   PONTECESO PLS — WEB PÚBLICA
========================================================== */

/* ==========================================================
   CONTIDOS RELACIONADOS
========================================================== */

.plstudio-relacionados {
    display: block;
    clear: both;

    width: 100%;

    margin-top: 48px;
}

.plstudio-relacionados-titulo {
    margin: 0 0 24px;
    padding: 0;

    font-size: 30px;
    line-height: 1.15;
    font-weight: 600;
}

/* ==========================================================
   CONTIDOS RELACIONADOS — CORRECCIÓN FORMIDABLE
========================================================== */

.frm_grid_container > .frm12:has(> .plstudio-relacionados) {
    display: block;

    width: 100%;
}

.frm_grid_container > .frm12:has(> .plstudio-relacionados) > .plstudio-relacionados {
    display: block;

    width: 100%;
}

/* ==========================================================
   GALERÍA — FOTOGRAFÍAS
========================================================== */

.plstudio-galeria-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    width: 100%;

    gap: 12px;
}

.plstudio-galeria-item {
    position: relative;

    display: block;

    width: 100%;
    aspect-ratio: 1 / 1;

    overflow: hidden;

    cursor: pointer;
}

.plstudio-galeria-item img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.3s ease;
}

.plstudio-galeria-item:hover img {
    transform: scale(1.03);
}

.plstudio-galeria-item.is-hidden {
    display: none;
}

/* ==========================================================
   GALERÍAS — LISTADO DE TARXETAS
========================================================== */

.plstudio-galerias-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    width: 100%;

    gap: 24px;
}

.plstudio-galeria-card {
    min-width: 0;
}

.plstudio-galeria-card-enlace {
    display: block;

    height: 100%;

    color: inherit;

    text-decoration: none;
}

.plstudio-galeria-card-imaxe {
    position: relative;

    display: block;

    width: 100%;
    aspect-ratio: 4 / 3;

    margin-bottom: 16px;

    overflow: hidden;

    border: 1px solid #d1d1d1;
}

.plstudio-galeria-card-imaxe img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.3s ease;
}

.plstudio-galeria-card-enlace:hover .plstudio-galeria-card-imaxe img {
    transform: scale(1.025);
}

/* ==========================================================
   GALERÍAS — CONTIDO
========================================================== */

.plstudio-galeria-card-contido {
    display: flex;
    flex-direction: column;

    gap: 0;
}

/* ==========================================================
   GALERÍAS — TÍTULO
========================================================== */

.plstudio-galeria-card-titulo {
    margin: 0;
    padding: 0 !important;

    color: #111 !important;

    font-family: "Poppins", Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 600;
}

.plstudio-galeria-card-titulo a {
    color: #111 !important;

    text-decoration: none;
}

.plstudio-galeria-card-titulo a:hover {
    color: #312783 !important;
}

/* ==========================================================
   GALERÍAS — ÁREA / SERVIZO
========================================================== */

/*
|--------------------------------------------------------------------------
| Mesmo código visual empregado no contexto das novas:
|
| │ Lecer e Cultura
| │ Lecer e Cultura › Biblioteca
|--------------------------------------------------------------------------
*/

.plstudio-galeria-card-area {
    display: block;

    width: fit-content;
    max-width: 100%;

    margin-top: 9px;
    padding: 5px 9px;

    border-left: 3px solid #312783;

    background: #f6f5fb;
    color: #5f5f68;

    font-family: "Manrope", Helvetica, Arial, Lucida, sans-serif;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 500;
}

/* ==========================================================
   NOVAS — LISTADO
========================================================== */

.plstudio-novas-listado {
    display: block;

    width: 100%;
}

/* ==========================================================
   NOVAS — CONTEDOR AJAX
========================================================== */

/*
|--------------------------------------------------------------------------
| Este é o contedor que recibe realmente as filas de novas.
|--------------------------------------------------------------------------
|
| Estrutura:
|
| .plstudio-novas-listado
|     └── [data-plstudio-listado-contido]
|             ├── .plstudio-novas-fila
|             ├── .plstudio-novas-fila
|             └── .plstudio-novas-fila
|
|--------------------------------------------------------------------------
*/

.plstudio-novas-listado > [data-plstudio-listado-contido] {
    display: flex;
    flex-direction: column;

    width: 100%;

    gap: 30px;
}

/* ==========================================================
   NOVAS — FILAS
========================================================== */

.plstudio-novas-fila {
    display: grid;

    width: 100%;

    column-gap: 30px;
    row-gap: 30px;
}

.plstudio-novas-fila[data-columnas="1"] {
    grid-template-columns: minmax(0, 1fr);
}

.plstudio-novas-fila[data-columnas="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plstudio-novas-fila[data-columnas="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* ==========================================================
   NOVAS — TARXETA BASE
========================================================== */

.plstudio-nova-card {
    display: flex;
    flex-direction: column;

    width: 100%;
    min-width: 0;
    height: 100%;

    overflow: hidden;

    border: 1px solid #e3e0ef;

    background: #fff;
}

/* ==========================================================
   NOVAS — IMAXE
========================================================== */

.plstudio-nova-imaxe {
    position: relative;

    display: block;

    width: 100%;

    margin: 0;

    overflow: hidden;

    background: #f5f5f5;
}

.plstudio-nova-imaxe img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.35s ease;
}

.plstudio-nova-card:hover .plstudio-nova-imaxe img {
    transform: scale(1.02);
}

/* ==========================================================
   NOVAS — CONTIDO
========================================================== */

.plstudio-nova-contido {
    display: flex;
    flex: 1;
    flex-direction: column;

    min-width: 0;

    padding: 24px;
}

/* ==========================================================
   NOVAS — DATA
========================================================== */

.plstudio-nova-data {
    position: relative;

    display: flex;
    align-items: center;

    gap: 10px;

    margin: 0 0 14px;

    color: #312783;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.plstudio-nova-data::after {
    content: "";

    display: block;
    flex: 1;

    height: 1px;

    background: #d8d5ea;
}

/* ==========================================================
   NOVAS — TÍTULO
========================================================== */

.plstudio-nova-titulo a {
    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #929292 !important;

    font-family: "Poppins", Helvetica, Arial, Lucida, sans-serif;
    font-size: 20px;
    line-height: 1.3em;
    font-weight: 300;
}

/* ==========================================================
   NOVAS — CONTEXTO
========================================================== */

.plstudio-nova-contexto {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 5px;

    width: 100%;

    margin: 2px 0 20px;
    padding: 0;

    background: transparent;

    font-family: "Manrope", Helvetica, Arial, Lucida, sans-serif;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 500;
}

/* ==========================================================
   NOVAS — CONTEXTO / ELEMENTOS
========================================================== */

.plstudio-nova-contexto-item {
    display: block;

    width: fit-content;
    max-width: 100%;

    padding: 5px 9px;

    border-left: 3px solid #312783;
    font-size: 13px !important;
    background: #f6f5fb;
    color: #5f5f68;
}

/* ==========================================================
   NOVAS — CONTEXTO / SEPARADOR
========================================================== */

.plstudio-nova-contexto-separador {
    display: none;
}

/* ==========================================================
   NOVAS — RESUMO
========================================================== */

.plstudio-nova-resumo {
    margin: 0 0 20px;

    color: #111;

    font-family: "Manrope", Helvetica, Arial, Lucida, sans-serif;
    font-size: 17px;
    line-height: 1.8em;
    font-weight: 400;
}

.plstudio-nova-resumo p {
    margin: 0;
}

/* ==========================================================
   NOVAS — ENLACE
========================================================== */

.plstudio-nova-enlace {
    display: inline-flex;
    align-items: center;

    width: fit-content;

    margin-top: auto;

    color: #312783 !important;

    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;

    text-decoration: none;
}

.plstudio-nova-enlace:hover {
    color: #b3aae0 !important;
}

/* ==========================================================
   NOVAS — FILA DE 1
========================================================== */

.plstudio-novas-fila[data-columnas="1"] .plstudio-nova-card {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(300px, 0.8fr);

    height: auto;
    min-height: 0;
}

.plstudio-novas-fila[data-columnas="1"] .plstudio-nova-imaxe {
    width: 100%;
    height: 360px;

    border-right: 1px solid #d1d1d1;
    border-bottom: 0;
}

.plstudio-novas-fila[data-columnas="1"] .plstudio-nova-contido {
    justify-content: center;

    padding: 36px 40px;
}

.plstudio-novas-fila[data-columnas="1"] .plstudio-nova-titulo {
    font-size: 26px;
    line-height: 1.2;
}

.plstudio-novas-fila[data-columnas="1"] .plstudio-nova-resumo {
    font-size: 15px;
    line-height: 1.65;
}

/* ==========================================================
   NOVAS — FILA DE 2
========================================================== */

.plstudio-novas-fila[data-columnas="2"] .plstudio-nova-imaxe {
    aspect-ratio: 16 / 9;
}

.plstudio-novas-fila[data-columnas="2"] .plstudio-nova-contido {
    padding: 26px;
}

.plstudio-novas-fila[data-columnas="2"] .plstudio-nova-titulo {
    font-size: 22px;
}

/* ==========================================================
   NOVAS — FILA DE 3
========================================================== */

.plstudio-novas-fila[data-columnas="3"] .plstudio-nova-imaxe {
    aspect-ratio: 4 / 3;
}

.plstudio-novas-fila[data-columnas="3"] .plstudio-nova-contido {
    padding: 22px;
}

/* ==========================================================
   PAXINACIÓN — LISTADOS PÚBLICOS
========================================================== */

.plstudio-listado-paxinacion {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 48px;
}

.plstudio-listado-paxina {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 38px;
    height: 38px;

    padding: 0 10px;

    border: 1px solid #d8d5ea;
    border-radius: 0;

    background: transparent;
    color: #312783;

    font: inherit;
    font-size: 13px;
    line-height: 1;
    font-weight: 500;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.plstudio-listado-paxina:hover:not(:disabled):not(.is-active) {
    border-color: #312783;

    background: #312783;
    color: #fff;
}

.plstudio-listado-paxina.is-active {
    border-color: #312783;

    background: #312783;
    color: #fff;

    pointer-events: none;
}

.plstudio-listado-paxina:disabled {
    cursor: default;

    opacity: 0.3;
}

.plstudio-listado-paxina-puntos {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 24px;
    height: 38px;

    color: #777;
}

[data-plstudio-listado] {
    transition: opacity 0.2s ease;
}

[data-plstudio-listado].is-loading {
    opacity: 0.45;

    pointer-events: none;
}

/* ==========================================================
   LIGHTBOX — BASE
========================================================== */

.plstudio-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;

    display: none;
}

.plstudio-lightbox.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.plstudio-lightbox-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background: rgba(0, 0, 0, 0.88);
}

/* ==========================================================
   LIGHTBOX — CONTIDO
========================================================== */

.plstudio-lightbox-contenido {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    padding: 60px 90px;

    pointer-events: none;
}

.plstudio-lightbox-centro {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    max-width: calc(100vw - 180px);
    max-height: calc(100vh - 80px);

    pointer-events: none;
}

/* ==========================================================
   LIGHTBOX — IMAXE
========================================================== */

.plstudio-lightbox-imaxe {
    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: calc(100vh - 120px);

    object-fit: contain;

    pointer-events: auto;

    transition: opacity 0.2s ease;
}

.plstudio-lightbox.is-loading .plstudio-lightbox-imaxe {
    opacity: 0.45;
}

/* ==========================================================
   LIGHTBOX — CONTADOR
========================================================== */

.plstudio-lightbox-contador {
    margin-top: 12px;

    color: #fff;

    font-size: 14px;
    line-height: 1.4;
    text-align: center;
}

/* ==========================================================
   LIGHTBOX — CONTROIS
========================================================== */

.plstudio-lightbox-cerrar,
.plstudio-lightbox-anterior,
.plstudio-lightbox-seguinte,
.plstudio-lightbox-retirada {
    position: absolute;
    z-index: 3;

    border: 0;

    background: transparent;
    color: #fff;

    cursor: pointer;

    pointer-events: auto;
}

/* ==========================================================
   LIGHTBOX — PECHAR
========================================================== */

.plstudio-lightbox-cerrar {
    top: 24px;
    right: 30px;

    padding: 0;

    font-size: 42px;
    line-height: 1;
}

/* ==========================================================
   LIGHTBOX — ANTERIOR / SEGUINTE
========================================================== */

.plstudio-lightbox-anterior,
.plstudio-lightbox-seguinte {
    top: 50%;

    min-width: 48px;

    padding: 0;

    transform: translateY(-50%);

    font-size: 60px;
    line-height: 1;

    white-space: nowrap;
}

.plstudio-lightbox-anterior {
    left: 30px;
}

.plstudio-lightbox-seguinte {
    right: 30px;
}

/* ==========================================================
   LIGHTBOX — CAMBIO DE BLOQUE
========================================================== */

.plstudio-lightbox-anterior[data-accion="paxina-anterior"],
.plstudio-lightbox-seguinte[data-accion="paxina-seguinte"] {
    width: auto;
    min-width: 140px;

    padding: 10px 14px;

    font-size: 14px;
}

/* ==========================================================
   LIGHTBOX — SOLICITAR RETIRADA
========================================================== */

.plstudio-lightbox-retirada {
    top: 18px;
    left: 20px;

    margin: 0;
    padding: 0;

    font: inherit;
    font-size: 13px;
    line-height: 1;

    text-decoration: underline;
    text-underline-offset: 3px;

    opacity: 0.8;
}

.plstudio-lightbox-retirada:hover,
.plstudio-lightbox-retirada:focus-visible {
    opacity: 1;
}

body.plstudio-lightbox-aberto {
    overflow: hidden;
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — MODAL
========================================================== */

.plstudio-retirada-modal {
    position: fixed;
    inset: 0;
    z-index: 1000001;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 32px;
}

.plstudio-retirada-modal.is-open {
    display: flex;
}

.plstudio-retirada-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background: rgba(0, 0, 0, 0.72);
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — CONTIDO
========================================================== */

.plstudio-retirada-contenido {
    position: relative;
    z-index: 2;

    width: min(700px, 100%);
    max-height: calc(100vh - 64px);

    overflow-y: auto;

    padding: 40px 44px;

    background: #fff;
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — PECHAR
========================================================== */

.plstudio-retirada-cerrar {
    position: sticky;
    top: 0;
    z-index: 20;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    margin: 0 0 -36px auto;
    padding: 0;

    border: 0;

    background: #fff;
    color: #312783;

    font-size: 28px;
    line-height: 1;

    cursor: pointer;
}

.plstudio-retirada-cerrar:hover,
.plstudio-retirada-cerrar:focus-visible {
    opacity: 0.65;
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — CABECEIRA
========================================================== */

.plstudio-retirada-cabeceira {
    margin: 0 0 30px;
    padding: 0 45px 24px 0;

    border-bottom: 1px solid rgba(49, 39, 131, 0.15);
}

.plstudio-retirada-cabeceira h2 {
    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #312783 !important;

    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;

    letter-spacing: 0 !important;
    text-transform: none !important;

    -webkit-text-stroke: 0 !important;
}

.plstudio-retirada-cabeceira p {
    max-width: 560px;

    margin: 0;

    color: #444;

    font-size: 15px;
    line-height: 1.6;
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — FORMULARIO
========================================================== */

.plstudio-retirada-formulario .frm_form_field {
    margin-bottom: 20px;
}

.plstudio-retirada-formulario .frm_primary_label {
    display: block !important;

    width: 100% !important;

    margin: 0 0 7px !important;
    padding: 0 !important;

    color: #222;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — CAMPOS
========================================================== */

.plstudio-retirada-formulario input[type="text"],
.plstudio-retirada-formulario input[type="email"],
.plstudio-retirada-formulario input[type="tel"],
.plstudio-retirada-formulario textarea,
.plstudio-retirada-formulario select {
    display: block;

    width: 100% !important;
    max-width: none !important;

    min-height: 48px;

    padding: 11px 13px !important;

    border: 1px solid #b8b2df !important;
    border-radius: 0 !important;

    background: #fff !important;
    color: #222;

    font-size: 15px !important;
    line-height: 1.4;
}

.plstudio-retirada-formulario textarea {
    min-height: 120px;

    resize: vertical;
}

.plstudio-retirada-formulario input:focus,
.plstudio-retirada-formulario textarea:focus,
.plstudio-retirada-formulario select:focus {
    border-color: #312783 !important;

    outline: none;

    box-shadow: 0 0 0 1px #312783 !important;
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — PRIVACIDADE
========================================================== */

.plstudio-retirada-formulario .frm_checkbox {
    margin-top: 4px;
}

.plstudio-retirada-formulario .frm_checkbox label {
    font-size: 13px;
    line-height: 1.5;
}

/* ==========================================================
   SOLICITUDE DE RETIRADA — ENVIAR
========================================================== */

.plstudio-retirada-formulario .frm_button_submit {
    min-height: 46px;

    margin: 8px 0 0 !important;
    padding: 11px 22px !important;

    border: 1px solid #312783 !important;
    border-radius: 0 !important;

    background: #312783 !important;
    color: #fff !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    cursor: pointer;
}

.plstudio-retirada-formulario .frm_button_submit:hover,
.plstudio-retirada-formulario .frm_button_submit:focus-visible {
    background: #fff !important;
    color: #312783 !important;
}

body.plstudio-retirada-aberta {
    overflow: hidden;
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 980px) {
    /* ======================================================
       GALERÍA DE FOTOGRAFÍAS
    ====================================================== */

    .plstudio-galeria-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* ======================================================
       TARXETAS DE GALERÍAS
    ====================================================== */

    .plstudio-galerias-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* ======================================================
       NOVAS
    ====================================================== */

    .plstudio-novas-listado > [data-plstudio-listado-contido] {
        gap: 40px;
    }

    .plstudio-novas-fila {
        row-gap: 40px;
    }

    /*
    |--------------------------------------------------------------------------
    | Protagonista
    |--------------------------------------------------------------------------
    */

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-card {
        grid-template-columns: 1fr 1fr;
    }

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-imaxe {
        height: 320px;
    }

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-contido {
        padding: 30px;
    }

    /*
    |--------------------------------------------------------------------------
    | Filas de tres pasan a dúas columnas
    |--------------------------------------------------------------------------
    */

    .plstudio-novas-fila[data-columnas="3"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .plstudio-novas-fila[data-columnas="3"] .plstudio-nova-imaxe {
        aspect-ratio: 16 / 9;
    }
}

/* ==========================================================
   MÓBIL
========================================================== */

@media (max-width: 767px) {
    /* ======================================================
       CONTIDOS RELACIONADOS
    ====================================================== */

    .plstudio-relacionados {
        margin-top: 36px;
    }

    .plstudio-relacionados-titulo {
        margin-bottom: 20px;

        font-size: 26px;
        line-height: 1.2;
    }

    /* ======================================================
       GALERÍA DE FOTOGRAFÍAS
    ====================================================== */

    .plstudio-galeria-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 8px;
    }

    /* ======================================================
       TARXETAS DE GALERÍAS
    ====================================================== */

    .plstudio-galerias-grid {
        grid-template-columns: 1fr;

        gap: 28px;
    }

    /* ======================================================
       NOVAS
    ====================================================== */

    .plstudio-novas-listado > [data-plstudio-listado-contido] {
        gap: 32px;
    }

    .plstudio-novas-fila,
    .plstudio-novas-fila[data-columnas="1"],
    .plstudio-novas-fila[data-columnas="2"],
    .plstudio-novas-fila[data-columnas="3"] {
        grid-template-columns: minmax(0, 1fr);

        column-gap: 0;
        row-gap: 32px;
    }

    /*
    |--------------------------------------------------------------------------
    | Todas as novas pasan a vertical
    |--------------------------------------------------------------------------
    */

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-card {
        display: flex;
        flex-direction: column;

        min-height: 0;
    }

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-imaxe,
    .plstudio-novas-fila[data-columnas="2"] .plstudio-nova-imaxe,
    .plstudio-novas-fila[data-columnas="3"] .plstudio-nova-imaxe {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;

        border-right: 0;
        border-bottom: 1px solid #d1d1d1;
    }

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-contido,
    .plstudio-novas-fila[data-columnas="2"] .plstudio-nova-contido,
    .plstudio-novas-fila[data-columnas="3"] .plstudio-nova-contido {
        padding: 22px;
    }

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-titulo,
    .plstudio-novas-fila[data-columnas="2"] .plstudio-nova-titulo,
    .plstudio-novas-fila[data-columnas="3"] .plstudio-nova-titulo {
        font-size: 20px;
    }

    .plstudio-novas-fila[data-columnas="1"] .plstudio-nova-resumo {
        font-size: 14px;
    }

    /* ======================================================
       LIGHTBOX
    ====================================================== */

    .plstudio-lightbox-contenido {
        padding: 60px 45px;
    }

    .plstudio-lightbox-centro {
        max-width: calc(100vw - 32px);
        max-height: calc(100vh - 140px);
    }

    .plstudio-lightbox-cerrar {
        top: 15px;
        right: 18px;
    }

    .plstudio-lightbox-retirada {
        top: 18px;
        left: 16px;

        max-width: calc(100vw - 90px);

        font-size: 12px;
    }

    .plstudio-lightbox-anterior {
        left: 10px;
    }

    .plstudio-lightbox-seguinte {
        right: 10px;
    }

    .plstudio-lightbox-anterior[data-accion="paxina-anterior"],
    .plstudio-lightbox-seguinte[data-accion="paxina-seguinte"] {
        min-width: 0;

        padding: 8px 10px;

        font-size: 12px;
    }

    /* ======================================================
       SOLICITUDE DE RETIRADA
    ====================================================== */

    .plstudio-retirada-modal {
        padding: 16px;
    }

    .plstudio-retirada-contenido {
        max-height: calc(100vh - 32px);

        padding: 30px 24px;
    }

    .plstudio-retirada-cabeceira {
        padding-right: 30px;
    }

    .plstudio-retirada-cabeceira h2 {
        font-size: 25px !important;
    }

    /* ======================================================
       PAXINACIÓN
    ====================================================== */

    .plstudio-listado-paxinacion {
        margin-top: 36px;
    }

    .plstudio-listado-paxina {
        min-width: 36px;
        height: 36px;

        padding: 0 8px;
    }
}

/* ==========================================================
   NOVA — DATA NO DETALLE
========================================================== */

.plstudio-nova-data-detalle {
    display: flex;
    align-items: center;

    width: 100%;

    gap: 14px;

    margin: 0 0 18px;

    color: #312783;

    font-family: "Manrope", Helvetica, Arial, Lucida, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.plstudio-nova-data-detalle::after {
    content: "";

    display: block;
    flex: 1;

    height: 1px;

    background: #d8d5ea;
}

/* ==========================================================
   NOVA — EVENTO RELACIONADO
========================================================== */

.plstudio-nova-evento {
    width: 100%;
    max-width: 840px;

    margin: 60px auto 0;
}

/* ==========================================================
   NOVA — EVENTO / CABECEIRA
========================================================== */

.plstudio-nova-evento-cabeceira {
    display: flex;
    align-items: center;

    gap: 14px;

    margin: 0 0 18px;

    color: #312783;

    font-family: "Manrope", Helvetica, Arial, Lucida, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.plstudio-nova-evento-cabeceira::after {
    content: "";

    display: block;
    flex: 1;

    height: 1px;

    background: #d8d5ea;
}

/* ==========================================================
   NOVA — EVENTO / TARXETA
========================================================== */

.plstudio-nova-evento-card {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);

    width: 100%;

    overflow: hidden;

    border: 1px solid #d1d1d1;

    background: #fff;
}

/* ==========================================================
   NOVA — EVENTO / IMAXE
========================================================== */

.plstudio-nova-evento-imaxe {
    width: 100%;
    height: 100%;
    min-height: 180px;

    overflow: hidden;

    border-right: 1px solid #d1d1d1;

    background: #f5f5f5;
}

.plstudio-nova-evento-imaxe img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

/* ==========================================================
   NOVA — EVENTO / CONTIDO
========================================================== */

.plstudio-nova-evento-contido {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 24px 28px;
}

.plstudio-nova-evento-titulo {
    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #111 !important;

    font-family: "Poppins", Helvetica, Arial, Lucida, sans-serif;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 600;
}

/* ==========================================================
   NOVA — EVENTO / DATA E LUGAR
========================================================== */

.plstudio-nova-evento-data,
.plstudio-nova-evento-lugar {
    color: #555;

    font-family: "Manrope", Helvetica, Arial, Lucida, sans-serif;
    font-size: 17px;
    line-height: 1.55;
    font-weight: 400;
}

.plstudio-nova-evento-data {
    display: flex;
    flex-wrap: wrap;

    gap: 5px;
}

.plstudio-nova-evento-data span + span::before {
    content: "·";

    margin-right: 5px;
}

.plstudio-nova-evento-lugar {
    margin-top: 2px;
}

/* ==========================================================
   NOVA — EVENTO / ENLACE
========================================================== */

.plstudio-nova-evento-enlace {
    display: inline-flex;

    width: fit-content;

    margin-top: auto;
    padding-top: 18px;

    color: #312783 !important;

    font-family: "Manrope", Helvetica, Arial, Lucida, sans-serif;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;

    text-decoration: none;
}

.plstudio-nova-evento-enlace:hover {
    color: #b3aae0 !important;
}

/* ==========================================================
   NOVA — EVENTO / MÓBIL
========================================================== */

@media (max-width: 767px) {
    .plstudio-nova-evento {
        margin-top: 42px;
    }

    .plstudio-nova-evento-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .plstudio-nova-evento-imaxe {
        min-height: 150px;
    }

    .plstudio-nova-evento-contido {
        padding: 18px;
    }

    .plstudio-nova-evento-titulo {
        font-size: 18px;
    }
}
