/* ─── Press Room: [hkb_press_releases] + [hkb_reviews] ─────────────────────────── */
/* Dropdown + pagination styling mirrors the shop / season-event components. */

.hkb-pr,
.hkb-rv {
    position: relative;
    color: var(--clr-blue-100);
}

.hkb-pr.is-loading,
.hkb-rv.is-loading {
    opacity: .55;
    pointer-events: none;
    transition: opacity .2s;
}

/* Head row: count + dropdown */
.hkb-pr__head,
.hkb-rv__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 40px;
}

.hkb-pr__count,
.hkb-rv__count {
    font-size: var(--fs-12);
    line-height: var(--lh-168);
    color: var(--clr-blue-100);
}

/* ── Dropdown (Year / Sort by) — copied 1:1 from the shop .hkb-sort component ── */
.hkb-dd {
    position: relative;
}

.hkb-dd__trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent !important;
    border: none;
    font-size: var(--fs-12);
    line-height: var(--lh-168);
    color: var(--clr-blue-100) !important;
    cursor: pointer;
    font-weight: 300 !important;
    padding: 7.5px 8px;
}

/* Some global/Elementor button styles paint a white bg on hover — keep it transparent */
.hkb-dd__trigger:hover,
.hkb-dd__trigger:focus,
.hkb-dd__trigger:active {
    background: transparent !important;
}

.hkb-dd__value {
    font-weight: 300;
}

/* selected value is NOT bold */
.hkb-dd__chevron {
    display: inline-block;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    background: var(--clr-blue-100);
    -webkit-mask: url('../img/arrow-down.svg') center/contain no-repeat;
    mask: url('../img/arrow-down.svg') center/contain no-repeat;
}

.hkb-dd__trigger[aria-expanded="true"] .hkb-dd__chevron {
    transform: rotateX(180deg);
}

.hkb-dd__menu {
    position: absolute;
    right: 0;
    top: calc(100% + 13.5px);
    background: white;
    border: 1px solid var(--clr-neutral-15);
    border-radius: 6px;
    min-width: 240px;
    max-height: 360px;
    overflow-y: auto;
    padding: 8px !important;
    list-style: none;
    margin: 0;
    display: none;
}

.hkb-dd.is-open .hkb-dd__menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 6;
}

.hkb-dd__option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7.5px 8px;
    font-size: var(--fs-12);
    line-height: var(--lh-168);
    cursor: pointer;
    color: var(--clr-blue-100);
    transition: background .15s;
    border-radius: 8px;
    font-weight: 300 !important;
}

.hkb-dd__option:hover {
    background: var(--clr-blue-05);
}

.hkb-dd__option.is-active {
    background: var(--clr-blue-05);
}

.hkb-dd__option.is-active::after {
    content: "";
    width: 11px;
    height: 8px;
    margin-left: 12px;
    flex: 0 0 auto;
    background: var(--clr-blue-100);
    -webkit-mask: url('../img/checked.svg') center/contain no-repeat;
    mask: url('../img/checked.svg') center/contain no-repeat;
}

/* ── Press Releases list — same grid as .elementor-widget-hkb_locations .st-header-row ── */
.hkb-pr__item {
    display: grid;
    align-self: stretch;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 80px;
    padding: 40px 0;
    border-top: 1px solid var(--clr-neutral-10);
    text-decoration: none;
    color: var(--clr-blue-100);
    transition: color .3s;
}

.hkb-pr__list .hkb-pr__item:last-child {
    border-bottom: 1px solid #c8cad4;
}

.hkb-pr__title {
    font-size: var(--fs-18);
    line-height: var(--lh-252);
}

.hkb-pr__date {
    font-size: var(--fs-16);
    line-height: var(--lh-26);
    color: var(--clr-blue-100);
    white-space: nowrap;
    transition: var(--transition);
}

.hkb-pr__more {
    display: flex;
    gap: 12px;
    font-size: var(--fs-18);
    line-height: var(--lh-252);
    white-space: nowrap;
    margin-left: auto;
    align-items: center;
    align-self: flex-start;
}

.hkb-pr__arrow {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    background: currentColor;
    -webkit-mask: url('../img/right-arrow.svg') center/contain no-repeat;
    mask: url('../img/right-arrow.svg') center/contain no-repeat;
}

/* Hover: title + arrow recolor together; icon does NOT move */
.hkb-pr__item:hover,
.hkb-pr__item:hover .hkb-pr__date {
    color: var(--clr-blue-60);
}

/* ── Reviews list ──────────────────────────────────────────────────────────── */
.hkb-rv__item {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 80px;
    padding: 30px 0;
    border-top: 0.5px solid #c8cad4;
}

.hkb-rv__list .hkb-rv__item:last-child {
    border-bottom: 0.5px solid #c8cad4;
}

.hkb-rv__production {
    margin: 0;
    font-size: 20px;
    line-height: 26px;
    color: var(--clr-blue-100);
}

.hkb-rv__group+.hkb-rv__group {
    margin-top: 40px;
}

.hkb-rv__quote {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 21px;
    color: var(--clr-blue-100);
}

.hkb-rv__meta {
    font-size: 14px;
    line-height: 21px;
    color: var(--clr-blue-100);
}

/* gotham-regular forces weight 400 on children; keep source/date bold per design */
.hkb-rv__source {
    font-weight: 500 !important;
    color: var(--clr-blue-100);
    text-decoration: none;
}

a.hkb-rv__source:hover {
    color: var(--clr-blue-60);
    text-decoration: underline;
}

.hkb-rv__date {
    display: block;
    font-weight: 500 !important;
    color: var(--clr-blue-100);
}

.hkb-pr__empty,
.hkb-rv__empty {
    padding: 40px 0;
    color: var(--clr-blue-60);
}

/* ── Pagination — same as the shop page ────────────────────────────────────── */
.hkb-pagination {
    margin-top: 64px;
    display: flex;
    justify-content: center;
}

.hkb-pagination ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hkb-pagination li a,
.hkb-pagination li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    aspect-ratio: 1/1;
    border-radius: 100%;
    font-size: var(--fs-12);
    line-height: var(--lh-168);
    color: var(--clr-blue-100);
    text-decoration: none;
    transition: background .15s;
}

.hkb-pagination li span.current {
    background: var(--clr-purple-10);
    color: var(--clr-blue-100);
}

.hkb-pagination li a:hover {
    background: #f5f5f5;
}

.hkb-pagination .dots {
    background: none;
    letter-spacing: 2px;
}

.hkb-pagination .is-disabled {
    opacity: .5;
    pointer-events: none;
}

.hkb-pagination .prev,
.hkb-pagination .next {
    width: auto;
    min-width: auto;
    aspect-ratio: auto;
    gap: 6px;
    padding: 8px 16px;
    font-weight: 300;
    border-radius: 999px;
}

.hkb-pagination .prev::before,
.hkb-pagination .next::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background: var(--clr-blue-100);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.hkb-pagination .prev::before {
    -webkit-mask-image: url('../img/chevron-left.svg');
    mask-image: url('../img/chevron-left.svg');
}

.hkb-pagination .next::after {
    -webkit-mask-image: url('../img/chevron-right.svg');
    mask-image: url('../img/chevron-right.svg');
}

/* ── Mobile ────────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .hkb-pr__item {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 0;
    }

    .hkb-pr__head,
    .hkb-rv__head {
        margin-bottom: 20px;
    }

    .hkb-pr__more {
        font-size: 14px;
        line-height: 18.2px;
        margin-left: 0;
    }

    .hkb-pr__arrow {
        width: 16px;
        height: 16px;
    }

    .hkb-pr__title {
        font-size: 16px;
        line-height: 23px;
        max-width: none;
    }

    .hkb-pr__date {
        font-size: 14px;
        line-height: 21px;
        max-width: none;
    }


    .hkb-rv__item {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 0;
    }

    .hkb-dd__menu {
        min-width: 200px;
    }

    .hkb-rv__production {
        font-size: 16px;
        line-height: 23px;
    }

    .hkb-rv__quote:has(+ .hkb-rv__meta) {
        margin-bottom: 10px;
    }
}

/* ─── Single press release: tables migrated from the old site ──────────────────
   105 of the 186 releases carry real tables (cast lists, schedules, media
   contacts) and 41 of them nest a table inside a cell, so only the outermost
   one gets the frame and the scroll — an inner table is just layout. */
body.single-pr-press-release .elementor-widget-theme-post-content table {
    width: 100%;
    margin: 24px 0;
    border-collapse: collapse;
    color: var(--clr-blue-100);
}

/* Outermost tables only: reset everything a nested one inherited. */
body.single-pr-press-release .elementor-widget-theme-post-content table table {
    margin: 0;
    border: 0;
}

body.single-pr-press-release .elementor-widget-theme-post-content th,
body.single-pr-press-release .elementor-widget-theme-post-content td {
    padding: 12px 16px;
    border: 1px solid #d9d7e2;
    vertical-align: top;
    text-align: left;
    font-size: var(--fs-16);
    line-height: 26px;
}

body.single-pr-press-release .elementor-widget-theme-post-content th {
    font-weight: 600;
    background: #f6f5f9;
}

/* A cell holding a nested table is pure layout — no frame, no padding. */
body.single-pr-press-release .elementor-widget-theme-post-content td:has(> table),
body.single-pr-press-release .elementor-widget-theme-post-content table table td,
body.single-pr-press-release .elementor-widget-theme-post-content table table th {
    border: 0;
    padding: 0 0 8px;
    background: transparent;
}

/* Paragraphs inside cells shouldn't add the body's block spacing. */
body.single-pr-press-release .elementor-widget-theme-post-content td>p,
body.single-pr-press-release .elementor-widget-theme-post-content th>p {
    margin: 0 0 8px;
}

body.single-pr-press-release .elementor-widget-theme-post-content td>p:last-child,
body.single-pr-press-release .elementor-widget-theme-post-content th>p:last-child {
    margin-bottom: 0;
}


body.single-pr-press-release .hkb-pr-table {
    margin: 24px 0;
    overflow-x: auto;
}

body.single-pr-press-release .hkb-pr-table>table {
    margin: 0;
    min-width: 800px;
}


/* Narrow screens: let the outer table scroll instead of squashing the columns.
   No wrapper element exists to scroll (the bodies come straight from the old
   site), so the table itself becomes the scroll container. */
@media (max-width: 767px) {

    body.single-pr-press-release .elementor-widget-theme-post-content>.elementor-widget-container>table,
    body.single-pr-press-release .elementor-widget-theme-post-content>table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.single-pr-press-release .elementor-widget-theme-post-content th,
    body.single-pr-press-release .elementor-widget-theme-post-content td {
        padding: 10px 12px;
        font-size: 14px;
        line-height: 22px;
    }
}