/**
 * Témini — estilos específicos del sitio
 */

/*********************************\
            COMPLIANZ
\*********************************/
/* Cookies button */
body #cmplz-manage-consent .cmplz-manage-consent {
    background: var(--cookie-button-background);
    right: 8px !important;
    left: auto;
    font-size: 0;
    line-height: 0;
    color: var(--cookie-button-color);
    bottom: 10px !important;
    padding: 0;
    width: var(--cookie-button-size);
    height: var(--cookie-button-size);
    border-radius: var(--cookie-button-radius);
    min-width: 0px;
    box-shadow: var(--cookie-button-shadow);

    &:before {
        content: "\e901";
        font-family: 'temini';
        font-size: calc(var(--cookie-button-size) * 0.6);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    &:hover:before { transform: translate(-50%, -50%); }
}

/* Cookies banner */
#cmplz-cookiebanner-container {
    .cmplz-body { scrollbar-width: none; }

    .cmplz-cookiebanner {
        grid-row-gap: 5px;
        padding: var(--size-s);
    }

    .cmplz-header, .cmplz-divider-header { display: none; }   

    p {
        margin: 0;
        font-size: var(--p-s);
    }   
    
    .cmplz-buttons .cmplz-btn {
        letter-spacing: 0;
        font-size: var(--p-s) !important;
        line-height: 1.2 !important;
        text-transform: uppercase;
        justify-content: center;
        height: auto;
    }
    
    .cmplz-categories .cmplz-category {
        &:not(:last-child) { margin-bottom: 5px; }

        .cmplz-category-header .cmplz-category-title { 
            font-size: var(--p-s);
            line-height: 1; 
            font-weight: 500;
        }

        .cmplz-category-header .cmplz-always-active {
            font-size: calc(var(--p-s) * 0.8);
            line-height: 1;
        }
    }
}

/* Página de créditos (invbit-credits): el h1 va en la sección global de encima; el #Content gana a su <style> en línea */
#Content .invbit-credits-container {
    padding-top: var(--size-xl);
}

/* Complianz documents */
#cmplz-document {
    max-width: 100%;
    padding: var(--size-xl) 0;
    text-align: justify;

    p, li, td {
        font-size: var(--p-m);
        line-height: 1.4;
        font-weight: 400;
    }

    h2, h3, h4 {
        font-weight: 600;
        border: 0;
        padding: 0;
        margin: 0 0 var(--size-m);
        line-height: 1.2;
    }

    h2 {
        font-size: var(--h2);
        margin-top: var(--size-m);
    
        &:first-child { margin-top: 0; }
    }
    
    h3 { font-size: var(--h3); }
    
    h4 {
        font-size: var(--h4);
        font-weight: 700;
    }

    .tabla-scroll {
        overflow-x: auto;
        margin-bottom: var(--size-m);

        table { min-width: 40rem; }
    }
}


/*********************************\
             HEADER
\*********************************/
/* Header blend mode */
#mfn-header-template { mix-blend-mode: difference; }

/* Menu */
.mfn-header-menu {
    gap: var(--size-m);

    & > .mfn-menu-li {
        & > .mfn-menu-link { 
            padding: 0; 
            color: var(--white);

            &:after {
                content: "";
                position: absolute;
                bottom: calc( 0px - var(--size-xxs) );
                left: 50%;
                transform: translateX(-50%);
                width: 0;
                height: 1px;
                background: var(--white);
                transition: all .3s ease;
            }

            &:hover { 
                color: var(--white); 

                &:after { width: 100%; }
            }
        }
    }

    & > .mfn-menu-li.current-menu-item > .mfn-menu-link {
        color: var(--white);

        &:after { width: 100%; }
    }
}

/* Language switcher */
.wp-child-theme-temini .wpml-ls-legacy-list-horizontal {
    padding: 0;
    border: 0;

    ul {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--size-xxs);

        li { 
            display: flex;
            align-items: center;
            justify-content: center;
            gap: var(--size-xxs);

            a { 
                padding: 0;
                color: var(--white);
                opacity: .7;
    
                &:hover { 
                    color: var(--white); 
                    opacity: 1;
                }
            }
    
            &.wpml-ls-current-language a {
                color: var(--white);
                opacity: 1;
            }
    
            &:not(:first-child):before {
                content: "/";
                color: var(--white);
                font-size: 1.2em;
            }
        }
    }
}

/* Sidebar menu */
.mfn-sidemenu-menu {
    gap: var(--size-xs);
    
    & > .mfn-menu-li {
        font-family: var(--font-titles);
        font-size: var(--p-eyebrow);
        line-height: 1.2;
        font-weight: 400;
        letter-spacing: .08em;
        text-transform: uppercase;

        & > .mfn-menu-link {
            padding: 0;
            color: var(--light-grey);

            &:hover { color: var(--light-grey); }
        }

        &.current-menu-item > .mfn-menu-link { color: var(--light-grey); }
    }
}


/*********************************\
              FOOTER
\*********************************/
/* Back to top */
#back_to_top.sticky {
    bottom: calc( var(--cookie-button-size) + 16px );
    right: 8px !important;
    width: var(--cookie-button-size);
    height: var(--cookie-button-size);
    font-size: calc(var(--cookie-button-size) * 0.6) !important;
    line-height: 1;
    padding: 0;
    border-radius: var(--cookie-button-radius);
    box-shadow: var(--cookie-button-shadow);
    background: var(--cookie-button-background);
    color: var(--cookie-button-color);
    border: 0;

    i { color: var(--cookie-button-color); }

    &:before { content: none; }
}

body.pojo-active #back_to_top.sticky { bottom: calc( 2 * var(--cookie-button-size) + 22px ) !important; }

/*Kit digital*/
body #mfn-footer-template .financiacion {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--size-m);
    text-align: left;
    align-items: center;

    & > div {
        line-height: 0;

        img {
            max-height: 50px;
            width: auto;
        }

        p {
            font-size: var(--p-s);
            line-height: 1.6;
            margin-bottom: 0;
            color: var(--grey);
        }

        &:last-child {
            grid-column: 1 / -1;
        }
    }

    @media only screen and (max-width: 1440px) and (min-width: 960px) {
        grid-template-columns: 1fr 1fr 2fr;

        & > div:last-child { grid-column: 3 / -1; }
    }

    @media only screen and (max-width: 959px) {
        justify-items: center;
        text-align: center;
    }
}

/* Accesibilidad */
body #pojo-a11y-toolbar {
    top: auto !important;
    bottom: calc( var(--cookie-button-size) + 16px ) !important;

    .pojo-a11y-toolbar-toggle a {
        font-size: calc(var(--cookie-button-size) * 0.6);
        padding: 0;
        width: var(--cookie-button-size);
        height: var(--cookie-button-size);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--cookie-button-radius);
        box-shadow: var(--cookie-button-shadow);
        background: var(--cookie-button-background);
        color: var(--cookie-button-color);

        svg {
            height: calc(var(--cookie-button-size) * 0.6);
        }
    }

    .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title {
        line-height: 1.2;
    }

    &.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
        left: 188px;
        bottom: 0;
    }

    &.pojo-a11y-toolbar-right .pojo-a11y-toolbar-toggle {
        right: 188px;
        bottom: 0;
    }
}

/* Footer wraps */
.mfn-footer-tmpl-builder { 
    .section_wrapper { gap: var(--size-m); }
    
    .wrap {
        width: auto;
    
        & > .mcb-wrap-inner { flex-direction: column; }

        @media only screen and (max-width: 767px) { width: 100%; }
    }
}

/*
 * CTA pre-footer: mismo estilo que la home
 * ("A seguinte historia aínda non ten título").
 * Foto a sangre, overlay 40%, bloque centrado de 33.8rem, h2 Syne + botón.
 */
.cta-prefooter {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    /* Evita que maskReveal (GSAP) recorte la sección y deje el texto a un lado. */
    clip-path: none !important;
    -webkit-clip-path: none !important;
}

.cta-prefooter > .mcb-background-overlay {
    background-color: rgba(0, 0, 0, 0.4) !important;
}

.cta-prefooter > .section_wrapper,
.cta-prefooter > .mcb-section-inner {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    /* BeTheme usa content-box + --lateral-pad !important: el padding
       se suma al 100% y empuja el texto a la derecha de la foto. */
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
    min-height: 48rem;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center !important;
    align-content: center !important;
}

.cta-prefooter > .section_wrapper > .mcb-wrap,
.cta-prefooter .mcb-wrap.cta-prefooter__bloque {
    float: none !important;
    width: 33.8rem !important;
    max-width: calc(100% - 2 * var(--lateral-pad-s, 1.5rem));
    margin-left: auto !important;
    margin-right: auto !important;
}

.cta-prefooter .mcb-wrap-inner {
    display: flex;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center;
    width: 100% !important;
}

.cta-prefooter .column {
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    text-align: center !important;
}

.cta-prefooter .title {
    font-family: var(--font-decorative) !important;
    font-size: var(--h2) !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    color: var(--white) !important;
    text-align: center !important;
    margin: 0;
}

.cta-prefooter .desc {
    font-family: var(--font-text) !important;
    font-size: var(--p-xl) !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    color: var(--light-grey) !important;
    text-align: center !important;
    margin: 0;
}

.cta-prefooter .button {
    color: var(--white);
}

.cta-prefooter .mcb-wrap.encuadre:before,
.cta-prefooter .mcb-wrap.encuadre:after,
.cta-prefooter .mcb-wrap.encuadre > .mcb-wrap-inner:before,
.cta-prefooter .mcb-wrap.encuadre > .mcb-wrap-inner:after {
    content: none;
}

@media only screen and (max-width: 767px) {
    .cta-prefooter > .section_wrapper,
    .cta-prefooter > .mcb-section-inner {
        min-height: 36rem;
    }

    .cta-prefooter .title { font-size: 2rem; }
}


/*********************************\
             CONTENT
\*********************************/
/* Camera borders */
.section.camera-border, .mfn-sidemenu-tmpl {
    --border-position: var(--size-s);

    &:before, &:after {
        content: "";
        position: absolute;
        top: var(--border-position);
        width: 10rem;
        height: 4rem;
        border: solid var(--white);
        visibility: visible;
    }

    &:before {
        left: var(--border-position);
        border-width: 1px 0 0 1px;
    }

    &:after {
        right: var(--border-position);
        border-width: 1px 1px 0 0;
    }

    & > .mcb-background-overlay, & > .mfn-sidemenu-tmpl-builder {
        &:before, &:after {
            content: "";
            position: absolute;
            bottom: var(--border-position);
            width: 10rem;
            height: 4rem;
            border: solid var(--white);
            visibility: visible;
        }

        &:before {
            left: var(--border-position);
            border-width: 0 0 1px 1px;
        }

        &:after {
            right: var(--border-position);
            border-width: 0 1px 1px 0;
        }
    }
}

/* Wrap - Image with text */
.photo-text {
    .wrap .mcb-wrap-inner {
        flex-direction: column;

        .flex-grow { flex-grow: 1; }
    }
}

/*
 * Puntos rec-dot: á esquerda do texto, como Recoñecementos (mfn-item-inline).
 * No hero, Traxectoria e CTA o builder deixa a imaxe en column.one (100%),
 * así o punto ocupa unha fila enteira e cae enriba do título.
 */
.column_image:has(img[src*="rec-dot"]):not(.mfn-item-inline) {
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: 100%;
    align-self: center;
}

.column_image:has(img[src*="rec-dot"]):not(.mfn-item-inline) + .column_heading {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0;
    align-self: center;
}

.column_image:has(img[src*="rec-dot"]):not(.mfn-item-inline) > .mcb-column-inner {
    display: flex;
    align-items: center;
    margin-top: 0 !important;
    margin-right: 1.5rem !important;
    margin-bottom: 0 !important;
}

/* Recoñecementos centra contra o título (inner sen margin-bottom).
   Aquí o inner leva o oco ata o seguinte bloque: sácase da liña flex
   para que o punto non baixe, e restáurase no irmán seguinte. */
.column_image:has(img[src*="rec-dot"]):not(.mfn-item-inline) + .column_heading > .mcb-column-inner {
    margin-bottom: 0 !important;
}

.column_image:has(img[src*="rec-dot"]):not(.mfn-item-inline) + .column_heading + .column > .mcb-column-inner {
    margin-top: 1.75rem;
}

.mcb-wrap-wrp000005 .column_image:has(img[src*="rec-dot"]):not(.mfn-item-inline) + .column_heading + .column > .mcb-column-inner {
    margin-top: 1rem;
}

@media only screen and (max-width: 767px) {
    .column_image:has(img[src*="rec-dot"]):not(.mfn-item-inline) + .column_heading + .column > .mcb-column-inner {
        margin-top: 1rem;
    }
}

/*
 * Páxina Premios: BeBuilder pinta o punto como glifo ● a 10px de fonte,
 * máis pequeno que rec-dot.svg (círculo de 10px). Substitúese polo mesmo
 * círculo sólido.
 */
.mcb-wrap-grid-col-custom > .mcb-wrap-inner > .column_plain_text:nth-child(2) .desc {
    font-size: 0 !important;
    line-height: 0 !important;
    width: 10px;
    height: 10px;
    padding: 0;
    overflow: hidden;
    color: transparent;
    background: var(--rec, #EA0909);
    border-radius: 50%;
}

/* Slider home */
#portada .desc { 
    height: 100%; 

    .invbit-slider-fixed-content { 
        justify-content: center; 
        padding: var(--lateral-pad-s);

        .invbit-slider-content {
            max-width: 50rem;
            text-align: center;

            .invbit-slider-title { margin: 0 0 var(--size-m); }

            .invbit-slider-text {
                font-size: var(--p-xl);
                line-height: 1.4;
                font-weight: 400;
                color: var(--light-grey);
                width: 100%;
                max-width: 41.38rem;
                margin: 0 auto;
                margin: 0 0 var(--size-m);
            }
        }
    }

    .invbit-slider-background:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(10, 10, 10, 0.64) 0%, rgba(10, 10, 10, 0.00) 24.97%), 
                    linear-gradient(180deg, rgba(10, 10, 10, 0.00) 73.59%, #0A0A0A 100%), 
                    linear-gradient(0deg, rgba(0, 0, 0, 0.24) 0%, rgba(0, 0, 0, 0.24) 100%);
        z-index: 1;
    }

    .invbit-slider-dots {
        bottom: var(--size-l);
        gap: var(--size-xs);

        .invbit-slider-dot {
            padding: var(--size-xxs);
            border: 1px solid transparent;
            transition: all .5s ease;

            img {
                width: 10.6rem;
                height: auto;
                aspect-ratio: 10.6 / 6;
                max-width: none;
                max-height: none;
                object-fit: cover;

                @media only screen and (max-width: 767px) { width: 7rem; }

                @media only screen and (max-width: 480px) { 
                    width: 5rem; 
                    aspect-ratio: 1;
                }

                @media only screen and (max-width: 360px) { 
                    width: 3.5rem; 
                }
            }

            &.is-active {
                transform: translateY(calc( 0px - var(--size-s) ));
                border-color: var(--rec);
            }
        }
    }
}


/*********************************\
          FLUENT FORMS
\*********************************/
/* Contacto (114): formulario oscuro segun Figma 2289:1785 */
.contacto-form .fluentform {
    /* los campos cuelgan de un fieldset sin clase dentro del form */
    .frm-fluent-form > fieldset {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
        align-items: start;

        > legend { grid-column: 1 / -1; }
    }

    .ff-el-group {
        margin-bottom: 0;
    }

    /* caja de campo: label dentro, input transparente */
    .ff-el-group:has(.ff-el-form-control) {
        background: #1C1C1C;
        border: 1px solid #333;
        padding: 1rem 1.25rem;
    }

    .ff-el-input--label {
        padding: 0;
        margin-bottom: .75rem;

        label {
            font-family: Figtree, sans-serif;
            font-size: 14px;
            font-weight: 400;
            color: var(--grey);
            margin: 0;
        }

        &.ff-el-is-required.asterisk-right label:after { color: var(--grey); }
    }

    .ff-el-form-control {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        height: auto;
        font-family: "Work Sans", sans-serif;
        font-size: 18px;
        color: var(--light-grey);
        box-shadow: none;

        &::placeholder { color: var(--light-grey); opacity: 1; }
        &:focus { outline: none; box-shadow: none; background: transparent; }
    }

    select.ff-el-form-control option { color: var(--black); }

    /* select convertido por Choices.js */
    .choices__inner {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        min-height: 0;
        font-family: "Work Sans", sans-serif;
        font-size: 18px;
        color: var(--light-grey);
    }

    .choices__list--single {
        padding: 0;

        .choices__item { color: var(--light-grey); }
    }

    .choices__list--dropdown, .choices__list[aria-expanded] {
        background: #1C1C1C;
        border: 1px solid #333;
        border-radius: 0;

        .choices__item { color: var(--light-grey); }
        .choices__item.is-highlighted { background: #333; }
    }

    .choices[data-type*="select-one"]:after { border-color: var(--light-grey) transparent transparent; }
    .choices.is-open[data-type*="select-one"]:after { border-color: transparent transparent var(--light-grey); }

    textarea.ff-el-form-control { min-height: 9.5rem; resize: vertical; }

    /* asunto, mensaje, condiciones, boton y texto RGPD a ancho completo */
    .ff-el-group:has([name="asunto"]),
    .ff-el-group:has(textarea),
    .ff-el-group:has(.ff-el-form-check),
    .ff_submit_btn_wrapper,
    .contacto-rgpd {
        grid-column: 1 / -1;
    }

    /* el aviso de proteccion de datos vai debaixo do boton de envio */
    .ff_submit_btn_wrapper { order: 1; }
    .contacto-rgpd { order: 2; }

    /* subida de archivo: sin caja, boton discreto */
    .ff-el-group:has(input[type="file"]),
    .ff-el-group:has(.ff_upload_zone) {
        background: transparent;
        border: 0;
        padding: 0;
    }

    .ff_upload_zone {
        background: transparent;
        border: 1px dashed #333;
        color: var(--light-grey);
    }

    .ff_upload_btn.ff-btn {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        font-family: Figtree, sans-serif;
        font-size: 18px;
        color: var(--white);
        cursor: pointer;

        &:hover { background: transparent; color: var(--light-grey); }
    }

    /* checkboxes (condiciones + novedades) */
    .ff-el-form-check {
        label, p, a {
            font-family: "Work Sans", sans-serif;
            font-size: 16px;
            color: var(--light-grey);
        }

        a { text-decoration: underline; }

        input[type="checkbox"] { accent-color: var(--white); }
    }

    /* boton de envio: texto con flecha, como los enlaces del sitio */
    .ff-btn-submit {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        font-family: Figtree, sans-serif;
        font-size: 20px;
        font-weight: 700;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        color: var(--white);

        &:before { content: "\2192\00a0\00a0"; }
        &:hover { background: transparent; color: var(--light-grey); }
    }

    .contacto-rgpd {
        background: transparent;
        border: 0;
        padding: 0;
        margin-top: 1.5rem;

        p {
            font-family: "Work Sans", sans-serif;
            font-size: 14px;
            line-height: 1.5;
            color: var(--light-grey);
            margin: 0;
        }
    }

    .ff-message-success {
        background: #1C1C1C;
        border: 1px solid #333;
        color: var(--light-grey);
        box-shadow: none;
    }

    .ff-el-is-error .ff-el-form-control { border: 0; }
    .error.text-danger { color: #EA0909; }

    @media (max-width: 767px) {
        .frm-fluent-form > fieldset { grid-template-columns: 1fr; }
    }
}

/* Contacto (114): filas de redes sociais */
.red-social {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
    text-decoration: none;

    span { font-size: .9em; }
}

/* Contacto (114): acordeon FAQ segun Figma (sin numeros, con lineas divisorias) */
.contacto-faq .faq {
    .question {
        margin-bottom: 0;
        border-top: 1px solid #383838;

        &:last-child { border-bottom: 1px solid #383838; }
        /* :after cubre el sombreado de 60px y la barra roja de .active */
        &:after, &.active:after { display: none; }

        > .title { padding: 1.5rem 3rem 1.5rem 0; }
        > .title .num { display: none; }
        > .answer { padding: 0 3rem 1.5rem 0; }
    }
}


/*********************************\
               404
\*********************************/
#error-404 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    
    .back-404 {
        position: absolute;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: -1;
    
        .title { 
            color: var(--white); 
            opacity: .2;
        }
    }
}

.admin-bar #error-404 .section_wrapper > .wrap > .mcb-wrap-inner { min-height: calc( 100dvh - var(--admin-bar-height) ); }

.temini-traballo-media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.temini-traballo-media--hero,
.temini-traballo-media--card {
	max-width: 100%;
}

/*********************************\
         GALERÍA TRABALLOS
\*********************************/
/* Ciclo: full → tres tercios → 40/60 (as do 40% en dúas medias filas). */
.temini-galeria {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--size-xs, 1rem);
	padding: var(--size-xs, 1rem);
	background: var(--black, #0A0A0A);
	box-sizing: border-box;
	width: 100%;
	align-items: stretch;
}

.temini-galeria__item {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--black, #0A0A0A);
	min-width: 0;
	min-height: 0;
}

.temini-galeria__item--full {
	grid-column: 1 / -1;
	height: 80vh;
	min-height: 700px;
}

.temini-galeria__item--tercio {
	aspect-ratio: 16 / 9;
	align-self: stretch;
}

.temini-galeria__split {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 2fr 3fr;
	gap: inherit;
	align-items: stretch;
	min-width: 0;
}

.temini-galeria__item--cuarenta {
	aspect-ratio: 16 / 9;
}

.temini-galeria__split--stack {
	grid-template-rows: auto auto;
}

.temini-galeria__split--stack .temini-galeria__item--cuarenta {
	grid-column: 1;
}

.temini-galeria__split--stack .temini-galeria__item--sesenta {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.temini-galeria__open {
	position: absolute;
	inset: 0;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	z-index: 1;
}

.temini-galeria__open:focus-visible {
	outline: 2px solid var(--white, #FCFCFC);
	outline-offset: -4px;
}

.temini-galeria .temini-galeria__media,
.temini-galeria img.temini-galeria__media,
.temini-galeria video.temini-galeria__media {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center;
	transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.temini-galeria__open:hover .temini-galeria__media,
.temini-galeria__open:focus-visible .temini-galeria__media {
	transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
	.temini-galeria .temini-galeria__media {
		transition: none;
	}

	.temini-galeria__open:hover .temini-galeria__media,
	.temini-galeria__open:focus-visible .temini-galeria__media {
		transform: none;
	}
}

@media only screen and (max-width: 959px) {
	.temini-galeria__item--full {
		height: 60vh;
		min-height: 420px;
	}
}

@media only screen and (max-width: 767px) {
	.temini-galeria {
		grid-template-columns: 1fr;
		gap: var(--size-xxs, .25rem);
		padding: var(--size-xxs, .25rem);
	}

	.temini-galeria__item--full {
		grid-column: 1 / -1;
		height: 55vh;
		min-height: 280px;
	}

	.temini-galeria__item--tercio,
	.temini-galeria__item--cuarenta,
	.temini-galeria__item--sesenta {
		grid-column: 1 / -1;
		aspect-ratio: 16 / 9;
		height: auto;
	}

	.temini-galeria__split,
	.temini-galeria__split--stack {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.temini-galeria__split--stack .temini-galeria__item--cuarenta,
	.temini-galeria__split--stack .temini-galeria__item--sesenta {
		grid-column: auto;
		grid-row: auto;
	}
}


/*********************************\
         LIGHTBOX GALERÍA
\*********************************/
html.temini-lightbox-open,
html.temini-lightbox-open body {
	overflow: hidden;
}

.temini-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100080;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4.5rem 4.5rem 3.5rem;
	box-sizing: border-box;
	color: var(--white, #FCFCFC);
}

.temini-lightbox[hidden] {
	display: none;
}

.temini-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 10, 0.94);
}

.temini-lightbox__stage {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
}

.temini-lightbox__media {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	background: #000;
}

.temini-lightbox__chrome {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.temini-lightbox__btn {
	pointer-events: auto;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: rgba(10, 10, 10, 0.55);
	color: var(--white, #FCFCFC);
	cursor: pointer;
	box-shadow: none;
	font-size: 0;
	line-height: 0;
	gap: 0;
	text-transform: none;
}

.temini-lightbox__btn:hover,
.temini-lightbox__btn:focus-visible {
	color: var(--white, #FCFCFC);
	background: var(--rec, #EA0909);
	border: 0;
}

.temini-lightbox__btn:focus-visible {
	outline: 2px solid var(--white, #FCFCFC);
	outline-offset: 2px;
}

.temini-lightbox__btn svg {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

.temini-lightbox__btn--close {
	top: 1rem;
	right: 1rem;
}

.temini-lightbox__btn--prev {
	top: 50%;
	left: 0.75rem;
	transform: translateY(-50%);
}

.temini-lightbox__btn--next {
	top: 50%;
	right: 0.75rem;
	transform: translateY(-50%);
}

.temini-lightbox__counter {
	position: absolute;
	z-index: 2;
	bottom: 1rem;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	padding: 0.35rem 0.7rem;
	font-family: var(--font-text, 'Work Sans', sans-serif);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	color: var(--light-grey, #E9E9E9);
	background: rgba(10, 10, 10, 0.55);
}

@media only screen and (max-width: 767px) {
	.temini-lightbox {
		padding: 4rem 0.75rem 3rem;
	}

	.temini-lightbox__btn {
		width: 2.5rem;
		height: 2.5rem;
	}

	.temini-lightbox__btn--prev,
	.temini-lightbox__btn--next {
		top: auto;
		bottom: 0.65rem;
		transform: none;
	}

	.temini-lightbox__btn--prev { left: 0.75rem; }
	.temini-lightbox__btn--next { right: 0.75rem; }

	.temini-lightbox__counter {
		bottom: 0.85rem;
	}
}


/*********************************\
         ENLACES TRABALLOS
\*********************************/
.traballo-enlaces {
	box-sizing: border-box;
	width: 100%;
	color: var(--white, #FCFCFC);
}

.traballo-enlaces__title {
	margin: 0 0 var(--size-s, 1.5rem);
	padding: 0;
	font-family: var(--font-text, 'Work Sans', sans-serif);
	font-size: var(--p-eyebrow, 1.125rem);
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--grey, #8F8F8F);
}

.traballo-enlaces__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--size-xs, 1rem);
	width: 100%;
	align-items: stretch;
}

.traballo-enlaces__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--size-xs, 1rem);
	height: 100%;
	min-height: 4.5rem;
	padding: 1.25rem 1.5rem;
	box-sizing: border-box;
	background: #1A1A1A;
	border: 1px solid rgba(252, 252, 252, 0.08);
	color: var(--white, #FCFCFC);
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.traballo-enlaces__item:hover,
.traballo-enlaces__item:focus-visible {
	background: #242424;
	border-color: rgba(252, 252, 252, 0.18);
	color: var(--white, #FCFCFC);
	outline: none;
}

.traballo-enlaces__label {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1 1 auto;
}

.traballo-enlaces__text {
	font-family: var(--font-text, 'Work Sans', sans-serif);
	font-size: var(--p-m, 1rem);
	font-weight: 500;
	line-height: 1.3;
	color: inherit;
}

.traballo-enlaces__logo {
	display: block;
	max-height: 3rem;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

/* Neutraliza tipografía/padding de `.button` (theme.css); conserva anim `.button_icon`. */
.traballo-enlaces__item.button {
	font-family: var(--font-text, 'Work Sans', sans-serif);
	font-size: var(--p-m, 1rem);
	font-weight: 500;
	letter-spacing: normal;
	text-transform: none;
	/* line-height 1 = mesma base em que theme.css para icon+::before */
	line-height: 1;
	height: 100%;
	padding: 1.25rem 1.5rem;
	gap: var(--size-xs, 1rem);
	background: #1A1A1A;
	border: 1px solid rgba(252, 252, 252, 0.08);
	border-radius: 0;
	color: var(--white, #FCFCFC);
}

.traballo-enlaces__item.button:hover,
.traballo-enlaces__item.button:focus-visible {
	background: #242424;
	border-color: rgba(252, 252, 252, 0.18);
	color: var(--white, #FCFCFC);
}

/*
 * Icono: mesma base em que theme.css (.button usa --a-btn, line-height 0 no .button_icon).
 * Sen isto, a tarxeta herda --p-m e o ::before (.1em) non aliña co glifo.
 */
.traballo-enlaces__item.button .button_icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	font-size: var(--a-btn, 1.25rem);
	line-height: 0;
	color: var(--white, #FCFCFC);
}

.traballo-enlaces__item.button .button_icon i {
	display: block;
	line-height: 1;
	color: inherit;
}

.traballo-enlaces .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media only screen and (max-width: 959px) {
	.traballo-enlaces__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 767px) {
	.traballo-enlaces__grid {
		grid-template-columns: 1fr;
	}

	.traballo-enlaces__item,
	.traballo-enlaces__item.button {
		min-height: 4rem;
		padding: 1rem 1.25rem;
	}
}

/*********************************\
             PREMIOS
\*********************************/
/* Esquinas de visor en wrap (patrón camera-border a nivel wrap, 64px/2px como el diseño) */
.mcb-wrap.encuadre { position: relative; }
.mcb-wrap.encuadre:before, .mcb-wrap.encuadre:after,
.mcb-wrap.encuadre > .mcb-wrap-inner:before, .mcb-wrap.encuadre > .mcb-wrap-inner:after {
    content: "";
    position: absolute;
    width: 4rem;
    height: 4rem;
    border: solid var(--white);
    visibility: visible;
    pointer-events: none;
}
.mcb-wrap.encuadre:before { top: 0; left: 0; border-width: 2px 0 0 2px; }
.mcb-wrap.encuadre:after { top: 0; right: 0; border-width: 2px 2px 0 0; }
.mcb-wrap.encuadre > .mcb-wrap-inner:before { bottom: 0; left: 0; border-width: 0 0 2px 2px; }
.mcb-wrap.encuadre > .mcb-wrap-inner:after { bottom: 0; right: 0; border-width: 0 2px 2px 0; }

/* Neutraliza tipografía de `.desc` de BeBuilder arredor do shortcode. */
.mcb-section-3d995dbfb .column_plain_text .desc {
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.traballo-premios {
	box-sizing: border-box;
	width: 100%;
	color: var(--white, #FCFCFC);
}

.traballo-premios__eyebrow {
	margin: 0 0 var(--size-m, 2rem);
	padding: 0;
	font-family: var(--font-text, 'Work Sans', sans-serif);
	font-size: var(--p-eyebrow, 1.125rem);
	font-weight: 500;
	letter-spacing: 1.44px;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--grey, #8F8F8F);
}

.traballo-premios__titulo {
	margin: 0 0 var(--size-s, 1.5rem);
	padding: 0;
	font-family: var(--font-decorative, 'Syne', serif);
	font-size: var(--h2, 3.5rem);
	font-weight: 700;
	letter-spacing: -2px;
	line-height: 1.05;
	color: var(--white, #FCFCFC);
}

.traballo-premios__intro {
	margin: 0 0 var(--size-l, 4rem);
	padding: 0;
	max-width: 46rem;
	font-family: var(--font-text, 'Work Sans', sans-serif);
	font-size: var(--p-m, 1rem);
	font-weight: 400;
	line-height: 1.55;
	color: var(--light-grey, #E9E9E9);
}

.traballo-premios__lista {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.traballo-premios__item {
	display: grid;
	grid-template-columns: 10px minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--size-m, 2rem);
	align-items: start;
	margin: 0;
	padding: var(--size-m, 2rem) 0;
	border-top: 1px solid #383838;
}

.traballo-premios__punto {
	display: block;
	width: 10px;
	height: 10px;
	margin-top: 0.55em;
	border-radius: 50%;
	background: var(--rec, #EA0909);
}

.traballo-premios__distincion {
	font-family: var(--font-titles, 'Figtree', sans-serif);
	font-size: var(--h5, 1.5rem);
	font-weight: 500;
	line-height: 1.35;
	color: var(--white, #FCFCFC);
}

.traballo-premios__certame {
	font-family: var(--font-text, 'Work Sans', sans-serif);
	font-size: var(--p-m, 1rem);
	font-weight: 400;
	line-height: 1.45;
	color: var(--light-grey, #E9E9E9);
}

@media only screen and (max-width: 767px) {
	.traballo-premios__titulo {
		font-size: 2.625rem;
	}

	.traballo-premios__item {
		grid-template-columns: 10px minmax(0, 1fr);
		row-gap: 0.5rem;
	}

	.traballo-premios__punto {
		grid-row: 1 / span 2;
	}

	.traballo-premios__certame {
		grid-column: 2;
	}
}

/*********************************\
      PÁXINA TRABALLOS (108)
\*********************************/
/* Filtros por formato (hero) */
.traballos-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    width: 100%;
    border-top: 1px solid #343434;
    padding-top: 4rem;
}

.traballos-filtros__item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    background: none;
    border: 0;
    cursor: pointer;
    font-family: var(--font-titles);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1.28px;
    text-transform: uppercase;
    color: #8f8f8f;
    transition: color 150ms cubic-bezier(0.22, 1, 0.36, 1);
}

.traballos-filtros__item:hover,
.traballos-filtros__item:focus-visible {
    color: #fcfcfc;
}

.traballos-filtros__punto {
    width: 0;
    height: 7px;
    background: #ea0909;
    transition: width 150ms cubic-bezier(0.22, 1, 0.36, 1);
}

.traballos-filtros__item.is-active {
    color: #fcfcfc;
    font-weight: 700;
}

.traballos-filtros__item.is-active .traballos-filtros__punto {
    width: 7px;
}

/* Bloques por formato */
.traballos-grid__bloque {
    padding: 7.5rem var(--lateral-pad-s);
}

/* be.min.css declara section{display:block}: sin esto el filtro no oculta nada */
.traballos-grid__bloque[hidden] {
    display: none;
}

.traballos-grid__cabeceira {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding-inline: calc(var(--lateral-pad) - var(--lateral-pad-s));
    margin-bottom: 3rem;
}

.traballos-grid__eyebrow {
    font-family: var(--font-titles);
    font-size: 18px;
    letter-spacing: 1.44px;
    text-transform: uppercase;
    color: #e9e9e9;
    margin: 0 0 12px;
}

.traballos-grid__titulo {
    font-family: var(--font-decorative);
    font-size: 56px;
    font-weight: 700;
    line-height: 1.1;
    color: #fcfcfc;
    margin: 0;
}

.traballos-grid__conta {
    font-family: var(--font-text);
    font-size: 18px;
    color: #8f8f8f;
    margin: 0;
}

/* Mosaico irregular: fraccións 16:9 con ocos deliberados en negro */
.traballos-grid__mosaico {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.traballo-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 16 / 9;
    padding: 1.5rem;
    overflow: hidden;
    text-decoration: none;
}

.traballo-card--w13 { width: 33.3333%; }
.traballo-card--w12 { width: 50%; }
.traballo-card--w23 { width: 66.6667%; }
.traballo-card--wfull { width: 100%; }

.traballo-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.traballo-card:hover .traballo-card__img,
.traballo-card:focus-visible .traballo-card__img {
    transform: scale(1.03);
}

.traballo-card__velo {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.8) 100%);
}

.traballo-card__marca {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-titles);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.96px;
    text-transform: uppercase;
    color: #fcfcfc;
}

.traballo-card__punto {
    width: 7px;
    height: 7px;
    background: #ea0909;
}

.traballo-card__info {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.traballo-card__titulo {
    font-family: var(--font-titles);
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fcfcfc;
}

.traballo-card__meta {
    font-family: var(--font-text);
    font-size: 14px;
    color: #e9e9e9;
}

/* Reveal ao entrar en viewport (só con JS activo; JS xa respeta reduced-motion) */
.traballos-grid.js-anim .traballo-card {
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 220ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.traballos-grid.js-anim .traballo-card.is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 959px) {
    .traballo-card--w13,
    .traballo-card--w12 { width: 50%; }
    .traballo-card--w23,
    .traballo-card--wfull { width: 100%; }

    .traballos-grid__titulo { font-size: 44px; }
    .traballos-grid__bloque { padding-block: 5rem; }
}

@media (max-width: 767px) {
    .traballo-card--w13,
    .traballo-card--w12,
    .traballo-card--w23,
    .traballo-card--wfull { width: 100%; }

    .traballo-card { padding: 1rem; }
    .traballo-card__titulo { font-size: 20px; }
    .traballos-grid__titulo { font-size: 36px; }
    .traballos-grid__bloque { padding-block: 4rem; }
    .traballos-grid__cabeceira {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 2rem;
    }
    .traballos-filtros { gap: 1.25rem; padding-top: 2.5rem; }
}

/*********************************\
     HOME — TRABALLOS DESTACADOS
\*********************************/
/* Mosaico full-bleed (Figma 2045:524). Anchos: 1 e 6 full; 2–4 third;
   5 twothirds + CTA; 7–8 half. */
.mcb-section:has(.destacados) .mcb-wrap-inner,
.mcb-section:has(.destacados) .mcb-column-inner,
.mcb-section:has(.destacados) .column_attr {
    margin: 0;
    padding: 0;
}

.section:has(.destacados),
.mcb-section:has(.destacados) {
    padding-top: 0;
    padding-bottom: 0;
}

.destacados {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    background: var(--black, #0A0A0A);
}

.destacado-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    aspect-ratio: 16 / 9;
    padding: var(--size-s, 1.5rem) var(--lateral-pad-s, 1.5rem);
    overflow: hidden;
    text-decoration: none;
    background: var(--black, #0A0A0A);
    color: var(--white, #FCFCFC);
}

.destacado-card--full { width: 100%; }
.destacado-card--third { width: 33.3333%; }
.destacado-card--twothirds { width: 66.6667%; }
.destacado-card--half { width: 50%; }

.destacado-card__img,
.destacado-card__video {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    max-height: none;
    object-fit: cover;
    transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.destacado-card__video {
    opacity: 0;
    z-index: 1;
    transition: opacity 320ms ease, transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.destacado-card:hover .destacado-card__img,
.destacado-card:focus-visible .destacado-card__img,
.destacado-card:hover .destacado-card__video,
.destacado-card:focus-visible .destacado-card__video {
    transform: scale(1.03);
}

.destacado-card:hover .destacado-card__video,
.destacado-card:focus-visible .destacado-card__video {
    opacity: 1;
}

.destacado-card__velo {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.24) 55%, rgba(0, 0, 0, 0.64) 100%);
    pointer-events: none;
}

.destacado-card__info {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.destacado-card__titulo {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 1.5rem; /* 16px punto + 8px oco, para que o texto non se mova */
    font-family: var(--font-titles);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--white, #FCFCFC);
}

.destacado-card__nome {
    min-width: 0;
}

.destacado-card__punto {
    position: absolute;
    left: 0;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border-radius: 50%;
    background: var(--rec, #EA0909);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.destacado-card:hover .destacado-card__punto,
.destacado-card:focus-visible .destacado-card__punto {
    opacity: 1;
    animation: temini-rec-blink 1.1s steps(1, end) infinite;
}

.destacado-card__seta {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: 0;
    margin-left: 0;
    overflow: hidden;
    opacity: 0;
    transition:
        width 220ms cubic-bezier(0.22, 1, 0.36, 1),
        margin 220ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 220ms ease;
}

.destacado-card:hover .destacado-card__seta,
.destacado-card:focus-visible .destacado-card__seta {
    flex-basis: 3.875rem;
    width: 3.875rem;
    margin-left: var(--size-xs, 1rem);
    opacity: 1;
}

.destacado-card__seta .button_icon {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    font-size: var(--a-btn, 1.25rem);
    line-height: 0;
    padding-left: calc(1.6em - 5px);
    color: var(--white, #FCFCFC);
}

.destacado-card__seta .button_icon i {
    display: block;
    font-size: 1.6em;
    line-height: 1;
    color: inherit;
}

.destacado-card__seta .button_icon:before {
    content: "";
    display: block;
    position: absolute;
    height: 0.1em;
    width: 50%;
    background: var(--white, #FCFCFC);
    top: 50%;
    transform: translateY(-50%);
    border-radius: 100px;
    right: 40%;
}

@keyframes temini-rec-blink {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0.12; }
}

.destacado-card__meta {
    padding-left: 1.5rem;
    font-family: var(--font-text);
    font-size: var(--p-m, 1rem);
    line-height: 1.3;
    color: var(--white, #FCFCFC);
}

.destacados-cta {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33.3333%;
    min-height: 24rem;
    background: var(--black, #0A0A0A);
    padding: var(--size-s, 1.5rem);
    box-sizing: border-box;
}

.destacado-card--twothirds + .destacados-cta {
    align-self: stretch;
}

/* Encuadre de visor: 64px / 2px como .mcb-wrap.encuadre */
.destacados-cta__marco {
    position: absolute;
    inset: var(--size-s, 1.5rem);
    pointer-events: none;
}

.destacados-cta__marco:before,
.destacados-cta__marco:after,
.destacados-cta:before,
.destacados-cta:after {
    content: "";
    position: absolute;
    width: 4rem;
    height: 4rem;
    border: solid var(--white, #FCFCFC);
    pointer-events: none;
}

.destacados-cta:before { top: var(--size-s, 1.5rem); left: var(--size-s, 1.5rem); border-width: 2px 0 0 2px; }
.destacados-cta:after { top: var(--size-s, 1.5rem); right: var(--size-s, 1.5rem); border-width: 2px 2px 0 0; }
.destacados-cta__marco:before { bottom: 0; left: 0; border-width: 0 0 2px 2px; }
.destacados-cta__marco:after { bottom: 0; right: 0; border-width: 0 2px 2px 0; }

.destacados-cta__rec {
    position: absolute;
    top: calc(var(--size-s, 1.5rem) + 1.3rem);
    right: calc(var(--size-s, 1.5rem) + 1.3rem);
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-titles);
    font-size: var(--p-eyebrow, 1.125rem);
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--white, #FCFCFC);
}

.destacados-cta__punto {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--rec, #EA0909);
}

.destacados-cta__contido {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--size-m, 2.25rem);
    width: 100%;
    max-width: 26rem;
    text-align: center;
}

.destacados-cta__titulo {
    font-family: var(--font-decorative);
    /* Lista de 4 formatos: un punto por debaixo do h2 para que caiba no encadre. */
    font-size: 2.75rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--white, #FCFCFC);
    margin: 0;
    text-align: center;
}

.destacados-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: var(--size-s, 1.5rem);
    color: var(--white, #FCFCFC);
    text-decoration: none;
}

.destacados-cta__btn .button_icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    font-size: var(--a-btn, 1.25rem);
    line-height: 0;
    color: var(--white, #FCFCFC);
}

.destacados-cta__btn .button_label {
    font-family: var(--font-titles);
    font-size: var(--a-btn, 1.25rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    color: inherit;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .destacado-card:hover .destacado-card__img,
    .destacado-card:focus-visible .destacado-card__img,
    .destacado-card:hover .destacado-card__video,
    .destacado-card:focus-visible .destacado-card__video,
    .destacado-card:hover .destacado-card__seta,
    .destacado-card:focus-visible .destacado-card__seta {
        will-change: transform, opacity, width;
    }
}

@media (max-width: 1239px) {
    .destacados-cta__titulo { font-size: 2.75rem; }
}

@media (max-width: 959px) {
    .destacado-card--third { width: 50%; }
    .destacado-card--twothirds,
    .destacado-card--full,
    .destacados-cta { width: 100%; }

    .destacados-cta {
        min-height: 28rem;
        aspect-ratio: 16 / 9;
    }

    .destacados-cta__titulo { font-size: 2.5rem; }
}

@media (max-width: 767px) {
    .destacado-card--third,
    .destacado-card--half,
    .destacado-card--twothirds,
    .destacado-card--full,
    .destacados-cta { width: 100%; }

    .destacado-card { padding: 1rem; }
    .destacado-card__titulo { font-size: 1.25rem; }

    .destacados-cta {
        min-height: 22rem;
        aspect-ratio: auto;
        padding: 2.5rem 1.5rem;
    }

    .destacados-cta:before,
    .destacados-cta:after,
    .destacados-cta__marco:before,
    .destacados-cta__marco:after {
        width: 2.5rem;
        height: 2.5rem;
    }

    .destacados-cta__titulo { font-size: 2rem; }
    .destacados-cta__rec { top: 1.75rem; right: 1.75rem; }
}

@media (prefers-reduced-motion: reduce) {
    .destacado-card__img,
    .destacado-card__video,
    .destacado-card__seta,
    .destacado-card__punto {
        transition: none;
        animation: none;
    }
}

/*********************************\
    REVISIÓN JORGE (OUT 2026)
\*********************************/
/* Ficha: vídeos (tráiler, making of, extractos…). */
.ficha-videos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--size-l, 3rem) var(--size-m, 2.25rem);
}

.ficha-videos--unico {
    grid-template-columns: minmax(0, 1fr);
}

.ficha-video {
    margin: 0;
}

.ficha-video__frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background: var(--black, #000);
    overflow: hidden;
    background-size: cover;
}

.ficha-video__frame iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

.ficha-video__titulo {
    margin-top: .75rem;
    font-family: var(--font-titles);
    font-size: var(--p-m);
    line-height: 1.3;
    color: var(--light-grey);
}

@media (max-width: 767px) {
    .ficha-videos {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--size-m, 2.25rem);
    }
}

/* Carrusel continuo de premios ([temini_carrusel]). */
.carrusel {
    --carrusel-alto: 20rem;
    --carrusel-gap: var(--size-s, 1.5rem);
    --carrusel-duracion: 60s;
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
}

.carrusel__pista {
    display: flex;
    width: max-content;
    animation: carrusel-desprazamento var(--carrusel-duracion) linear infinite;
}

.carrusel:hover .carrusel__pista,
.carrusel:focus-within .carrusel__pista {
    animation-play-state: paused;
}

.carrusel__lista {
    display: flex;
    gap: var(--carrusel-gap);
    margin: 0;
    padding: 0 var(--carrusel-gap) 0 0;
    list-style: none;
}

.carrusel__item {
    flex: 0 0 auto;
    margin: 0;
}

.carrusel .carrusel__item img.carrusel__img {
    display: block;
    height: var(--carrusel-alto) !important;
    width: auto !important;
    max-width: none !important;
}

@keyframes carrusel-desprazamento {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 767px) {
    .carrusel { --carrusel-alto: 11rem; --carrusel-duracion: 45s; }
}

@media (prefers-reduced-motion: reduce) {
    .carrusel { overflow-x: auto; }
    .carrusel__pista { animation: none; }
    .carrusel__lista[aria-hidden="true"] { display: none; }
}

/* Traballos: título do bloque «Todos» só para lectores de pantalla
   (BeTheme pon .screen-reader-text a display:none). */
.traballos-grid .screen-reader-text {
    display: block !important;
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Bio · En cifras: 5 contadores nunha fila flexible e centrada. */
.mcb-section .mcb-wrap.cifras > .mcb-wrap-inner {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 4rem;
    row-gap: 3rem;
}

.mcb-section .mcb-wrap.cifras > .mcb-wrap-inner > .mcb-wrap {
    flex: 0 1 auto;
    width: auto !important;
    min-width: 9rem;
}

@media (max-width: 767px) {
    .mcb-section .mcb-wrap.cifras > .mcb-wrap-inner {
        column-gap: 1rem;
        row-gap: 1.5rem;
    }

    .mcb-section .mcb-wrap.cifras > .mcb-wrap-inner > .mcb-wrap {
        flex: 0 1 calc(50% - .5rem);
        min-width: 0;
    }
}

/* Pé: columnas aliñadas arriba; correos como icona + nome. */
.pe-web > .section_wrapper,
.pe-web > .mcb-section-inner {
    align-items: flex-start !important;
}

@media (min-width: 1441px) {
    .pe-web .mcb-wrap.mcb-wrap-uzz4n58,
    .pe-web .mcb-wrap.mcb-wrap-uzz4n58 > .mcb-wrap-inner { padding-top: 0 !important; }
}

@media (min-width: 768px) {
    .pe-web .mcb-wrap.mcb-wrap-bkl3hn3e { padding-top: 0 !important; }
    .pe-web .mcb-wrap.mcb-wrap-bkl3hn3e > .mcb-wrap-inner { padding-top: 0 !important; }
}

.pe-mail .title a {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    text-decoration: none;
}

.pe-mail .title a:before {
    content: "";
    flex: 0 0 auto;
    width: 1.15em;
    height: 1.15em;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3.5 6 8.5 7 8.5-7'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3.5 6 8.5 7 8.5-7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pe-mail .title a:hover,
.pe-mail .title a:focus-visible {
    text-decoration: underline;
    text-underline-offset: .2em;
}

/* Ficha · «Sobre a obra» debaixo da sinopse. */
.ficha-persoal__eyebrow {
    margin-top: var(--size-l, 3rem);
}

/* Contacto · representantes, discretas ao final da cabeceira. */
.contacto-reps {
    padding-top: var(--size-m, 2.25rem);
    border-top: 1px solid rgba(252, 252, 252, .2);
}

.contacto-reps__titulo {
    margin: 0 0 1rem;
    font-family: var(--font-titles);
    font-size: var(--p-eyebrow, 1.125rem);
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--light-grey);
}

.contacto-reps__lista {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 3rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contacto-reps__lista li {
    margin: 0;
}

.contacto-reps__lista a {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem .6rem;
    color: var(--white);
    text-decoration: none;
}

.contacto-reps__nome {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    font-family: var(--font-titles);
    font-weight: 700;
}

.contacto-reps__nome:before {
    content: "";
    flex: 0 0 auto;
    width: 1.3em;
    height: 1.3em;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3.5 6 8.5 7 8.5-7'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3.5 6 8.5 7 8.5-7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.contacto-reps__mail {
    color: var(--light-grey);
    font-size: var(--p-s);
}

.contacto-reps__lista a:hover .contacto-reps__mail,
.contacto-reps__lista a:focus-visible .contacto-reps__mail {
    color: var(--white);
    text-decoration: underline;
    text-underline-offset: .2em;
}

/* Contacto · o bloque de texto ocupa todo o alto da cabeceira e as
   representantes baixan ao fondo, separadas do texto. */
.mcb-section-sec000007 .mcb-wrap-wrp000006 > .mcb-wrap-inner {
    align-items: stretch !important;
    align-content: stretch !important;
}

.mcb-section-sec000007 .mcb-wrap-itm000004 {
    align-self: stretch;
    min-height: 100%;
}

.mcb-section-sec000007 .mcb-wrap-itm000004 > .mcb-wrap-inner {
    flex-direction: column;
    flex-wrap: nowrap !important;
    height: 100%;
}

.mcb-section-sec000007 .mcb-wrap-itm000004 .column:has(.contacto-reps) {
    margin-top: auto;
    padding-top: var(--size-xl, 5rem);
}

/* Home · última fila do mosaico (Biografía + ocos 7 e 8) a 30rem. */
@media (min-width: 960px) {
    .destacados-cta--bio,
    .destacados-cta--bio ~ .destacado-card {
        height: 30rem;
        min-height: 0;
        aspect-ratio: auto;
    }
}

/* Bio · Traballos: as tres imaxes enchen a columna coa mesma proporción. */
.mcb-section-sec000130 .column_image .image_frame,
.mcb-section-sec000130 .column_image .image_wrapper {
    display: block;
    width: 100%;
}

.mcb-section-sec000130 .column_image .image_wrapper img {
    display: block;
    width: 100% !important;
    height: auto;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}
