/* =====================================================================
 * L'ÉLÉPHANT — PRESS
 * Layout editorial baseado no XD fornecido.
 * ===================================================================== */

body.elephant-press-page {
    background: var(--beige, #ede6e2);

    /* Escala editorial desktop baseada no frame de 1920px do XD.
       Menus e footer continuam com os tamanhos próprios do tema. */
    --ele-press-body: .9375vw;          /* 18px @ 1920 */
    --ele-press-body-line: 1.25vw;      /* 24px @ 1920 */
    --ele-press-meta: .5729167vw;       /* 11px @ 1920 */
    --ele-press-meta-line: .7734375vw;  /* ~14.85px @ 1920 */
    --ele-press-feature: 2.083333vw;    /* 40px @ 1920 */
    --ele-press-feature-line: 2.760417vw; /* 53px @ 1920 */
    --ele-press-feature-meta: 1.041667vw; /* 20px @ 1920 */
    --ele-press-feature-meta-line: 1.354167vw; /* 26px @ 1920 */
    --ele-press-label: .729167vw;       /* 14px @ 1920 */
    --ele-press-hero-source: .625vw;    /* 12px @ 1920 */
}

/* No XD o cabeçalho permanece branco durante toda a página Press. */
body.elephant-press-page #main-menu li a,
body.elephant-press-page #mobile-menu li a {
    color: #fff !important;
}

body.elephant-press-page .elephant-header-spacer {
    display: none !important;
}

.elephant-press {
    width: 100%;
    overflow: hidden;
    background: var(--beige, #ede6e2);
    color: var(--black, #000);
}

/* ---------------------------------------------------------------------
 * HERO
 * --------------------------------------------------------------------- */
.elephant-press__hero {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh;
    min-height: 620px;
    overflow: hidden;
    background: #111;
}

.elephant-press__hero-image,
.elephant-press__hero > .elephant-placeholder-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    display: block;
}

.elephant-press__hero-shade {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .16);
    pointer-events: none;
}

.elephant-press__hero-copy {
    position: absolute;
    z-index: 2;
    top: 67%;
    left: 50%;
    width: min(1120px, 82vw);
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
}

.elephant-press__hero-title {
    margin: 0;
    padding: 0;
    font-family: "Elephant Span", "Libre Bodoni", serif;
    font-size: 4.15vw;
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.025em;
    text-transform: uppercase;
    color: #fff;
}

.elephant-press__hero-title span {
    display: block;
}

.elephant-press__hero-source {
    margin: 1.25vw 0 0;
    font-family: "Roboto", Arial, sans-serif;
    font-size: var(--ele-press-hero-source);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .015em;
    text-transform: uppercase;
    color: #fff;
}

/* ---------------------------------------------------------------------
 * CONTEÚDO EDITORIAL
 * --------------------------------------------------------------------- */
.elephant-press__editorial {
    width: unset;
    max-width: none;
    margin: 0;
    padding: 15% 15% 5%;
    box-sizing: border-box;
}

.elephant-press__pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 5.5vw;
    align-items: start;
}

.elephant-press__pair--top {
    margin-bottom: 14vw;
}

.elephant-press__pair--secondary {
    margin-top: 11vw;
}

.elephant-press-entry {
    display: grid;
    grid-template-columns: minmax(0, .87fr) minmax(0, 1fr);
    column-gap: 2.083333vw;
    align-items: start;
    min-width: 0;
}

.elephant-press-entry__cover,
.elephant-press-entry__text {
    min-width: 0;
}

.elephant-press-entry__cover {
    aspect-ratio: 210 / 297;
    overflow: hidden;
}

.elephant-press-entry__cover img,
.elephant-press-entry__cover .elephant-placeholder-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0;
    box-shadow: none;
    object-fit: cover;
    object-position: center;
}

.elephant-press-entry__quote {
    margin: 0 0 1.145833vw;
    padding: 0;
    border: 0;
    font-family: "Roboto", Arial, sans-serif;
    font-size: var(--ele-press-body);
    font-style: normal;
    font-weight: 400;
    line-height: var(--ele-press-body-line);
    color: var(--black, #000);
}

.elephant-press-entry__quote p {
    margin: 0;
}

.elephant-press-entry__quote p + p {
    margin-top: 1em;
}

.elephant-press-entry__byline,
.elephant-press-entry-compact__byline {
    margin: 0;
    font-family: "Roboto", Arial, sans-serif;
    font-size: var(--ele-press-meta);
    font-weight: 400;
    line-height: var(--ele-press-meta-line);
    letter-spacing: 0;
    color: var(--black, #000);
    text-transform: none;
}

.elephant-press-entry__byline a,
.elephant-press-entry-compact__byline a {
    color: inherit;
    text-decoration: none;
}

/* Terceira menção: bloco grande PORTICO do XD. */
.elephant-press__spotlight-entry {
    width: unset;
    max-width: none;
    margin: 0 0 14vw;
}

.elephant-press__spotlight-entry .elephant-press-entry {
    display: grid;
    grid-template-columns: 42.55% 49.85%;
    column-gap: 7.6%;
    align-items: center;
    width: 100%;
}

.elephant-press__spotlight-entry .elephant-press-entry__quote {
    margin-bottom: 1.5625vw;
}

body.elephant-press-page .elephant-press__spotlight-entry .elephant-press-entry__quote p {
    font-size: var(--ele-press-feature) !important;
    line-height: var(--ele-press-feature-line) !important;
}

.elephant-press__spotlight-entry .elephant-press-entry__byline {
    font-size: var(--ele-press-feature-meta) !important;
    line-height: var(--ele-press-feature-meta-line) !important;
}

/* ---------------------------------------------------------------------
 * OUTRAS EDIÇÕES
 * --------------------------------------------------------------------- */
.elephant-press__other {
    background: var(--beige, #ede6e2);
    padding: 0;
}

.elephant-press__other-inner {
    width: unset;
    max-width: none;
    margin: 0;
    padding: 15% 15% 5%;
    box-sizing: border-box;
}

.elephant-press__other-title {
    margin: 0 0 5vw;
    font-family: "Roboto", Arial, sans-serif;
    font-size: var(--ele-press-label);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--black, #000);
}

.elephant-press__other-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3.9vw;
    align-items: start;
}

.elephant-press-entry-compact__cover {
    width: 100%;
    aspect-ratio: 210 / 297;
    overflow: hidden;
    margin: 0 0 1.458333vw;
}

.elephant-press-entry-compact__cover img,
.elephant-press-entry-compact__cover .elephant-placeholder-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0;
    box-shadow: none;
    object-fit: cover;
    object-position: center;
}

.elephant-press__empty {
    min-height: 55vh;
    margin: 0;
    padding: 120px 6vw;
    display: grid;
    place-items: center;
    text-align: center;
    font: 400 14px/1.4 "Roboto", Arial, sans-serif;
    background: var(--beige, #ede6e2);
}



/* ---------------------------------------------------------------------
 * RESPONSIVE
 * --------------------------------------------------------------------- */

/* ---------------------------------------------------------------------
 * DESKTOP / LAPTOP — proporção contínua.
 * Só abaixo de 782px a composição muda para mobile.
 * --------------------------------------------------------------------- */
@media (min-width: 783px) {
    body.elephant-press-page .elephant-press__editorial,
    body.elephant-press-page .elephant-press__other-inner {
        width: unset !important;
        max-width: none !important;
        padding-left: 15% !important;
        padding-right: 15% !important;
    }

    body.elephant-press-page .elephant-press__pair .elephant-press__slot,
    body.elephant-press-page .elephant-press__pair .elephant-press-entry,
    body.elephant-press-page .elephant-press__pair .elephant-press-entry__cover,
    body.elephant-press-page .elephant-press__pair .elephant-press-entry__text,
    body.elephant-press-page .elephant-press__pair .elephant-press-entry__quote,
    body.elephant-press-page .elephant-press__spotlight-entry,
    body.elephant-press-page .elephant-press__spotlight-entry .elephant-press-entry__cover,
    body.elephant-press-page .elephant-press__spotlight-entry .elephant-press-entry__text,
    body.elephant-press-page .elephant-press__spotlight-entry .elephant-press-entry__quote,
    body.elephant-press-page .elephant-press__spotlight-entry .elephant-press-entry__byline,
    body.elephant-press-page .elephant-press-entry-compact {
        width: auto !important;
        max-width: none !important;
    }

    body.elephant-press-page .elephant-press-entry__quote {
        font-size: var(--ele-press-body) !important;
        line-height: var(--ele-press-body-line) !important;
    }

    body.elephant-press-page .elephant-press-entry__byline,
    body.elephant-press-page .elephant-press-entry-compact__byline {
        font-size: var(--ele-press-meta) !important;
        line-height: var(--ele-press-meta-line) !important;
    }

    body.elephant-press-page .elephant-press__spotlight-entry .elephant-press-entry__quote p {
        font-size: var(--ele-press-feature) !important;
        line-height: var(--ele-press-feature-line) !important;
    }

    body.elephant-press-page .elephant-press__spotlight-entry .elephant-press-entry__byline {
        font-size: var(--ele-press-feature-meta) !important;
        line-height: var(--ele-press-feature-meta-line) !important;
    }
}

@media (max-width: 782px) {
    .elephant-press__hero {
        min-height: 560px;
    }

    .elephant-press__hero-copy {
        top: 66%;
        width: 90vw;
    }

    .elephant-press__hero-title {
        font-size: clamp(34px, 9vw, 56px);
        line-height: .92;
    }

    .elephant-press__hero-source {
        margin-top: 18px;
        font-size: 10px;
    }

    .elephant-press__editorial {
        padding-top: 90px;
    }

    .elephant-press__pair {
        grid-template-columns: 1fr;
        gap: 90px;
    }

    .elephant-press__pair--top {
        margin-bottom: 110px;
    }

    .elephant-press__pair--secondary {
        margin-top: 100px;
    }

    .elephant-press-entry {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        gap: 28px;
    }

    .elephant-press__spotlight-entry {
        margin-bottom: 120px;
    }

    .elephant-press__spotlight-entry .elephant-press-entry {
        grid-template-columns: 1fr 1fr;
        gap: 44px;
    }

    .elephant-press__spotlight-entry .elephant-press-entry__quote {
        font-size: clamp(20px, 3.2vw, 26px);
    }

    .elephant-press__other {
        padding-top: 100px;
    }

    .elephant-press__other-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 60px 34px;
    }
}

@media (max-width: 580px) {
    .elephant-press__hero-title {
        font-size: clamp(30px, 10.4vw, 44px);
    }

    .elephant-press-entry,
    .elephant-press__spotlight-entry .elephant-press-entry {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .elephant-press-entry__cover {
        width: min(62vw, 290px);
    }

    .elephant-press__spotlight-entry .elephant-press-entry__cover {
        width: min(76vw, 360px);
    }

    .elephant-press__spotlight-entry .elephant-press-entry__quote {
        font-size: 22px;
    }

    .elephant-press__other-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px 20px;
    }

    .elephant-press-entry-compact__cover {
        margin-bottom: 18px;
    }
}

/* =====================================================================
 * Entrada da página Press — mesma linguagem de fade da homepage.
 * O conteúdo existe sempre no DOM; apenas entra suavemente após um curto
 * atraso para evitar o aparecimento instantâneo do header e do hero copy.
 * ===================================================================== */
body.elephant-press-page header.menu-transparente {
    opacity: 0;
    transition: opacity 2s ease;
}

body.elephant-press-page.elephant-press-entry-ready header.menu-transparente {
    opacity: 1;
}

body.elephant-press-page .elephant-press__hero-copy {
    opacity: 0;
    transition: opacity 2s ease .28s;
}

body.elephant-press-page.elephant-press-entry-ready .elephant-press__hero-copy {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    body.elephant-press-page header.menu-transparente,
    body.elephant-press-page .elephant-press__hero-copy {
        opacity: 1 !important;
        transition: none !important;
    }
}


@media (max-width: 782px) {
    body.elephant-press-page {
        --ele-press-body: 16px;
        --ele-press-body-line: 22px;
        --ele-press-meta: 11px;
        --ele-press-meta-line: 15px;
        --ele-press-feature: 24px;
        --ele-press-feature-line: 31px;
        --ele-press-feature-meta: 12px;
        --ele-press-feature-meta-line: 16px;
        --ele-press-label: 12px;
        --ele-press-hero-source: 10px;
    }

    body.elephant-press-page .elephant-press__editorial,
    body.elephant-press-page .elephant-press__other-inner {
        width: 100%;
        max-width: none;
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }
}



/* Última regra mobile: mantém a escala 22/29 também nos <p> do destaque,
   após os overrides gerais para ecrãs até 782px. */
@media (max-width: 580px) {
    body.elephant-press-page {
        --ele-press-feature: 22px;
        --ele-press-feature-line: 29px;
    }
}
