/* ============================================================
   JCRTP EDITORIAL JOURNAL - home.css
   Journal homepage (templates/frontend/pages/indexJournal.tpl), laid out
   after design-references/Homepage.png: hero + facts card, feature strip,
   then Current Issue | Latest Articles | Announcements & Important Links.
   The header bands above are styled in chrome.css and are not touched here.
   ============================================================ */

/* Full-bleed homepage: the page passes isFullWidth, so no OJS sidebar. */
.pkp_structure_page .pkp_structure_content:has(.jcrtp-home) {
    display: block;
    max-width: none;
    padding: 0;
    background: #ffffff;
}
.pkp_structure_page .pkp_structure_content:has(.jcrtp-home) > .pkp_structure_main {
    margin: 0;
    padding: 0;
}

.jcrtp-home,
.jcrtp-inner {
    --home-max: 1440px;
    --home-gutter: clamp(16px, 3vw, 48px);
    --home-inline: max(var(--home-gutter), calc((100% - var(--home-max)) / 2 + var(--home-gutter)));
    /* Page roles, mapped onto the site palette in base.css. */
    --home-navy: var(--jc-navy);
    --home-ink: var(--jc-text);
    --home-muted: var(--jc-muted);
    --home-accent: var(--jc-blue);
    --home-accent-deep: var(--jc-navy);
    --home-highlight: var(--jc-magenta);
    --home-highlight-text: var(--jc-magenta-deep);
    --home-focus: var(--jc-magenta);
    --home-tint: var(--jc-light);
    --home-tint-2: var(--jc-tint);
    --home-line: var(--jc-border);
    --home-radius: 12px;
    --home-shadow: 0 14px 34px var(--jc-shadow-color);
    color: var(--home-ink);
    background: #ffffff;
}
.jcrtp-home h2,
.jcrtp-home h3 {
    margin: 0;
    color: var(--home-navy);
    font-family: var(--jc-serif, Georgia, serif);
}
.jcrtp-home p { margin: 0; }
/* The parent theme spaces every list; homepage lists set their own rhythm. */
.jcrtp-home ul,
.jcrtp-home ol { margin: 0; }

/* ---------- Buttons ---------- */
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 34px;
    border: 2px solid transparent;
    border-radius: 6px;
    font: 700 1.08rem/1.2 var(--jc-serif, Georgia, serif);
    text-align: center;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--primary {
    color: #ffffff;
    background: var(--home-highlight);
    border-color: var(--home-highlight);
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--primary:hover,
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--primary:focus-visible {
    color: #ffffff;
    background: var(--home-highlight-text);
    border-color: var(--home-highlight-text);
    transform: translateY(-1px);
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--ghost {
    color: var(--home-navy);
    background: rgba(255, 255, 255, .92);
    border-color: var(--jc-border-strong);
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--ghost:hover,
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--ghost:focus-visible {
    color: var(--home-accent-deep);
    background: #ffffff;
    border-color: var(--home-accent);
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--outline {
    color: var(--home-accent-deep);
    background: #ffffff;
    border-color: var(--jc-border-strong);
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--outline:hover,
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--outline:focus-visible {
    color: #ffffff;
    background: var(--home-accent-deep);
    border-color: var(--home-accent-deep);
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn--small {
    min-height: 44px;
    padding: 10px 14px;
    font: 600 .86rem/1.2 var(--jc-sans, system-ui, sans-serif);
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn:focus-visible {
    outline: 3px solid var(--home-focus);
    outline-offset: 3px;
}

:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-more-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--home-accent);
    font: 700 .86rem/1.3 var(--jc-sans, system-ui, sans-serif);
    text-decoration: none;
    white-space: nowrap;
}
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-more-link:hover,
:is(.jcrtp-home, .jcrtp-inner) a.jcrtp-more-link:focus-visible {
    color: var(--home-accent-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---------- 1. Hero ---------- */
.jcrtp-hero {
    position: relative;
    overflow: hidden;
    color: var(--home-ink);
    background:
        url("../images/jcrtp-hero-art.svg") 56% center / auto 122% no-repeat,
        linear-gradient(90deg, var(--jc-light) 0%, var(--jc-light) 44%, var(--jc-navy) 74%, var(--jc-navy-deep) 100%);
}
/* Soft light wash keeps the text column readable over the artwork. */
.jcrtp-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(246, 248, 251, .97) 0%, rgba(246, 248, 251, .9) 36%, rgba(246, 248, 251, 0) 52%, color-mix(in srgb, var(--jc-navy) 32%, transparent) 64%);
    pointer-events: none;
}
.jcrtp-hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 250px);
    align-items: center;
    gap: 28px clamp(24px, 4vw, 64px);
    min-height: clamp(340px, 28vw, 400px);
    padding: clamp(28px, 3vw, 40px) var(--home-inline);
}
.jcrtp-hero__content {
    max-width: 660px;
}
.jcrtp-hero__eyebrow {
    color: var(--home-navy);
    font: 600 .92rem/1.4 var(--jc-sans, system-ui, sans-serif);
    letter-spacing: .2em;
    text-transform: uppercase;
}
.jcrtp-home .jcrtp-hero__title {
    margin: 10px 0 0;
    color: var(--home-navy);
    font: 700 clamp(2.2rem, 1.2rem + 3.2vw, 3.65rem)/1.04 var(--jc-serif, Georgia, serif);
    letter-spacing: -.015em;
}
/* Wireframe line break: "Research Today / for a Healthier Tomorrow". */
.jcrtp-hero__title-lead { display: block; }
.jcrtp-hero__title-accent {
    color: var(--home-highlight);
}
.jcrtp-hero__title::after {
    display: block;
    width: 64px;
    height: 4px;
    margin-top: 18px;
    content: "";
    background: var(--home-highlight);
    border-radius: 2px;
}
.jcrtp-home .jcrtp-hero__lead {
    max-width: 470px;
    margin-top: 16px;
    color: var(--home-ink);
    font-size: clamp(1rem, .92rem + .35vw, 1.17rem);
    line-height: 1.5;
}
.jcrtp-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
    margin-top: 22px;
}

/* Facts card (journal at a glance). */
.jcrtp-facts {
    margin: 0;
    padding: 6px 18px;
    color: var(--home-ink);
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: var(--home-radius);
    box-shadow: 0 20px 44px rgba(4, 20, 40, .22);
}
.jcrtp-facts__row {
    position: relative;
    padding: 12px 0 12px 60px;
}
.jcrtp-facts__row + .jcrtp-facts__row { border-top: 1px solid var(--home-line); }
.jcrtp-facts__icon {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    color: var(--home-accent);
}
.jcrtp-facts dt {
    color: var(--home-muted);
    font: 500 .86rem/1.3 var(--jc-sans, system-ui, sans-serif);
}
.jcrtp-facts dd {
    margin: 2px 0 0;
    color: var(--home-navy);
    font: 700 1.22rem/1.25 var(--jc-serif, Georgia, serif);
}
.jcrtp-facts dd span {
    display: block;
    color: var(--home-muted);
    font: 400 .86rem/1.4 var(--jc-sans, system-ui, sans-serif);
}
.jcrtp-home .jcrtp-facts dd a {
    color: var(--home-navy);
    text-decoration: none;
}
.jcrtp-home .jcrtp-facts dd a:hover { color: var(--home-accent); text-decoration: underline; }

/* ---------- 2. Feature strip ---------- */
.jcrtp-features {
    background: var(--home-tint);
    border-bottom: 1px solid var(--home-line);
}
.jcrtp-features__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin: 0;
    padding: 16px var(--home-inline);
    list-style: none;
}
.jcrtp-home .jcrtp-feature {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0;
    padding: 10px clamp(14px, 2vw, 30px);
    line-height: 1.4;
}
.jcrtp-feature + .jcrtp-feature { border-left: 1px solid var(--home-line); }
.jcrtp-feature:first-child { padding-left: 0; }
.jcrtp-feature__icon {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    color: var(--home-accent);
    background: var(--home-tint-2);
    border: 0;
    border-radius: 50%;
}
.jcrtp-feature__icon svg { width: 36px; height: 36px; }
.jcrtp-home .jcrtp-feature__title {
    font-size: 1.2rem;
    line-height: 1.25;
}
.jcrtp-home .jcrtp-feature p {
    margin-top: 4px;
    color: var(--home-muted);
    font-size: .92rem;
    line-height: 1.45;
}

/* OJS 3.5 highlights carousel, when the journal has any. */
.jcrtp-home__highlights {
    padding: clamp(28px, 3vw, 40px) var(--home-inline) 0;
}
/* Carousel controls (Swiper reads its colours from these variables). */
.jcrtp-home__highlights .swiper {
    --swiper-navigation-size: 18px;
    --swiper-navigation-color: #ffffff;
    --swiper-pagination-color: var(--jc-navy);
    --swiper-pagination-bullet-inactive-color: var(--jc-border-strong);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-size: 10px;
    --swiper-pagination-bullet-horizontal-gap: 6px;
}
.jcrtp-home__highlights .swiper-button-prev,
.jcrtp-home__highlights .swiper-button-next {
    width: 44px;
    height: 44px;
    margin-top: -22px;
    background: var(--jc-navy);
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 4px 14px var(--jc-shadow-color);
}
.jcrtp-home__highlights .swiper-button-prev:hover,
.jcrtp-home__highlights .swiper-button-next:hover {
    background: var(--jc-magenta-deep);
}
.jcrtp-home__highlights .swiper-button-prev:focus-visible,
.jcrtp-home__highlights .swiper-button-next:focus-visible {
    outline: 3px solid var(--jc-magenta);
    outline-offset: 2px;
}
.jcrtp-home__highlights .swiper-button-disabled { opacity: .35; }

/* ---------- 3. Content columns ---------- */
.jcrtp-home__columns {
    display: grid;
    grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr) minmax(250px, .67fr);
    align-items: start;
    gap: clamp(20px, 2vw, 28px);
    padding: clamp(24px, 2.4vw, 32px) var(--home-inline) clamp(32px, 4vw, 48px);
}
.jcrtp-home-panel__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.jcrtp-home .jcrtp-home-panel__head h2 {
    font-size: clamp(1.6rem, 1.3rem + .9vw, 2rem);
    line-height: 1.15;
}
.jcrtp-home-panel__head h2::after {
    display: block;
    width: 48px;
    height: 3px;
    margin-top: 10px;
    content: "";
    background: var(--home-highlight);
    border-radius: 2px;
}
.jcrtp-home-panel__head .jcrtp-more-link { padding-bottom: 14px; }

/* Latest Articles sits between two column rules, as in the wireframe. */
.jcrtp-latest {
    padding: 0 clamp(16px, 1.6vw, 22px);
    border-right: 1px solid var(--home-line);
    border-left: 1px solid var(--home-line);
}

/* Current issue card. */
.jcrtp-current__card {
    display: grid;
    grid-template-columns: minmax(120px, 168px) minmax(0, 1fr);
    gap: clamp(14px, 1.4vw, 20px);
    align-items: center;
    padding: clamp(14px, 1.2vw, 16px);
    background: var(--home-tint);
    border-radius: var(--home-radius);
}
.jcrtp-current__cover {
    display: block;
    line-height: 0;
    border-radius: 4px;
    box-shadow: 0 12px 26px rgba(4, 20, 40, .25);
    overflow: hidden;
}
.jcrtp-current__cover > img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}
/* Theme-drawn cover (no uploaded issue cover): official logo, unaltered. */
.jcrtp-cover {
    display: flex;
    flex-direction: column;
    aspect-ratio: 3 / 4;
    background: var(--jc-navy);
}
.jcrtp-cover__brand {
    padding: 12% 8% 8%;
    background: #fdfdfd;
}
.jcrtp-cover__brand img { display: block; width: 100%; height: auto; }
.jcrtp-cover__art {
    flex: 1 1 auto;
    background: url("../images/jcrtp-hero-art.svg") 62% center / cover no-repeat;
    opacity: .9;
}
.jcrtp-cover__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 8px 9px;
    color: #ffffff;
    background: rgba(4, 20, 40, .65);
    font: 600 .66rem/1.25 var(--jc-sans, system-ui, sans-serif);
}
.jcrtp-cover__oa { color: var(--jc-oa); text-transform: uppercase; letter-spacing: .04em; }
.jcrtp-home .jcrtp-current__title {
    font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
    line-height: 1.25;
}
.jcrtp-home .jcrtp-current__title a { color: var(--home-navy); text-decoration: none; }
.jcrtp-home .jcrtp-current__title a:hover { color: var(--home-accent); text-decoration: underline; }
.jcrtp-home .jcrtp-current__issue-title {
    margin-top: 6px;
    color: var(--home-highlight-text);
    font: 600 .95rem/1.4 var(--jc-sans, system-ui, sans-serif);
}
.jcrtp-home .jcrtp-current__date {
    margin-top: 2px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--home-line);
    color: var(--home-navy);
    font: 700 1.1rem/1.3 var(--jc-serif, Georgia, serif);
}
.jcrtp-current__description,
.jcrtp-current__card--empty p {
    margin-top: 14px;
    color: var(--home-ink);
    font-size: .95rem;
    line-height: 1.6;
}
.jcrtp-current__description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}
.jcrtp-current__description p { margin: 0; font-size: inherit; line-height: inherit; }
.jcrtp-current__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
/* Wireframe: both issue buttons on one row whenever they fit. */
.jcrtp-home .jcrtp-current__actions { gap: 8px; }
.jcrtp-home .jcrtp-current__actions a.jcrtp-btn--small {
    padding-right: 12px;
    padding-left: 12px;
    font-size: .82rem;
    white-space: nowrap;
}
.jcrtp-current__card--empty {
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: start;
}

/* Empty states share one quiet look. */
.jcrtp-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    color: var(--home-accent);
    background: #ffffff;
    border: 1px solid var(--home-tint-2);
    border-radius: 50%;
}
.jcrtp-empty-icon svg { width: 32px; height: 32px; }
.jcrtp-empty {
    display: grid;
    justify-items: start;
    gap: 14px;
    padding: clamp(18px, 2vw, 24px);
    border: 1px dashed var(--jc-border-strong);
    border-radius: var(--home-radius);
}
:is(.jcrtp-home, .jcrtp-inner) .jcrtp-empty p {
    color: var(--home-muted);
    font-size: .95rem;
    line-height: 1.6;
}

/* Latest article cards. */
.jcrtp-latest__list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.jcrtp-home .jcrtp-article-card {
    display: grid;
    grid-template-columns: 98px minmax(0, 1fr);
    gap: 16px;
    margin: 0;
    padding: 12px 0;
    line-height: 1.4;
}
.jcrtp-article-card:first-child { padding-top: 0; }
.jcrtp-article-card + .jcrtp-article-card { border-top: 1px solid var(--home-line); }
.jcrtp-article-card__thumb {
    display: block;
    align-self: start;
    line-height: 0;
    border-radius: 6px;
    overflow: hidden;
}
.jcrtp-article-card__thumb img,
.jcrtp-article-card__placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.jcrtp-article-card__placeholder {
    background: url("../images/jcrtp-hero-art.svg") 64% center / cover no-repeat, var(--jc-navy);
}
.jcrtp-article-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 10px;
    color: var(--home-muted);
    font-size: .8rem;
}
.jcrtp-badge {
    display: inline-block;
    padding: 2px 8px;
    color: var(--home-highlight-text);
    background: var(--jc-magenta-tint);
    border-radius: 3px;
    font: 600 .74rem/1.4 var(--jc-sans, system-ui, sans-serif);
}
/* Section colours cycle by OJS section id (wireframe: pink, lilac, green). */
.jcrtp-badge--1 { color: var(--jc-navy); background: var(--jc-tint); }
.jcrtp-badge--2 { color: #1d6b45; background: #dcf3e6; }
.jcrtp-home .jcrtp-article-card__title {
    margin-top: 6px;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.25;
}
.jcrtp-home .jcrtp-article-card__title a {
    color: var(--home-navy);
    text-decoration: none;
}
.jcrtp-home .jcrtp-article-card__title a:hover,
.jcrtp-home .jcrtp-article-card__title a:focus-visible {
    color: var(--home-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.jcrtp-home .jcrtp-article-card__authors {
    margin-top: 4px;
    color: var(--home-muted);
    font-size: .9rem;
}
.jcrtp-home .jcrtp-article-card__galleys {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}
.jcrtp-home .jcrtp-article-card__galleys li { margin: 0; }
.jcrtp-home .jcrtp-article-card__galleys a.obj_galley_link {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 4px 12px;
    color: var(--home-accent-deep);
    background: #ffffff;
    border: 1px solid var(--jc-border-strong);
    border-radius: 5px;
    font: 600 .8rem/1.2 var(--jc-sans, system-ui, sans-serif);
    text-decoration: none;
}
.jcrtp-home .jcrtp-article-card__galleys a.obj_galley_link:hover,
.jcrtp-home .jcrtp-article-card__galleys a.obj_galley_link:focus-visible {
    color: #ffffff;
    background: var(--home-accent-deep);
    border-color: var(--home-accent-deep);
}

/* Side panels: announcements and important links. */
.jcrtp-home__aside {
    display: grid;
    gap: 16px;
    min-width: 0;
}
.jcrtp-side-panel {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--home-line);
    border-radius: var(--home-radius);
    box-shadow: 0 6px 18px var(--jc-shadow-color);
}
.jcrtp-home .jcrtp-side-panel__title {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    color: var(--home-navy);
    background: var(--home-tint);
    font-size: 1.24rem;
    line-height: 1.2;
}
.jcrtp-side-panel__title svg { flex: none; color: var(--home-accent); }
.jcrtp-side-panel__list {
    margin: 0;
    padding: 4px 0;
    list-style: none;
}
.jcrtp-home .jcrtp-side-panel__list li { margin: 0; line-height: 1.4; }
.jcrtp-home .jcrtp-side-panel__list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 0;
    padding: 6px 16px;
    color: var(--home-navy);
    font-size: .92rem;
    text-decoration: none;
}
.jcrtp-home .jcrtp-side-panel__list a:hover,
.jcrtp-home .jcrtp-side-panel__list a:focus-visible {
    color: var(--home-accent);
    background: var(--home-tint);
}
.jcrtp-home .jcrtp-side-panel__list a:focus-visible {
    outline: 2px solid var(--home-focus);
    outline-offset: -2px;
}
.jcrtp-side-panel__text { min-width: 0; }
.jcrtp-side-panel__text strong { display: block; font-weight: 600; }
.jcrtp-side-panel__text small {
    display: block;
    margin-top: 2px;
    color: var(--home-muted);
    font-size: .8rem;
    line-height: 1.4;
}
.jcrtp-chevron {
    flex: none;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--home-accent);
    border-right: 2px solid var(--home-accent);
    transform: rotate(45deg);
}
.jcrtp-home .jcrtp-side-panel__more {
    margin: 2px 16px 12px;
}
/* Link rows are hairline-separated in the wireframe. */
.jcrtp-home .jcrtp-side-panel__list--links li + li { border-top: 1px solid var(--home-line); }

.jcrtp-additional-content {
    padding: 0 var(--home-inline) clamp(40px, 5vw, 64px);
}

/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
    .jcrtp-home__columns {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    .jcrtp-latest {
        padding-right: 0;
        border-right: 0;
    }
    .jcrtp-home__aside {
        grid-column: 1 / -1;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        align-items: start;
    }
    .jcrtp-current__card {
        grid-template-columns: minmax(120px, 150px) minmax(0, 1fr);
    }
}

@media (max-width: 1100px) {
    .jcrtp-features__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 8px;
    }
    .jcrtp-feature:nth-child(odd) { padding-left: 0; border-left: 0; }
}

@media (max-width: 991px) {
    .jcrtp-hero {
        background:
            url("../images/jcrtp-hero-art.svg") 70% center / auto 100% no-repeat,
            linear-gradient(90deg, var(--jc-light) 0%, var(--jc-light) 30%, var(--jc-navy) 75%, var(--jc-navy-deep) 100%);
    }
    .jcrtp-hero::before {
        background: linear-gradient(90deg, rgba(246, 248, 251, .97) 0%, rgba(246, 248, 251, .9) 50%, rgba(246, 248, 251, .35) 100%);
    }
    .jcrtp-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }
    .jcrtp-facts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 24px;
        padding: 6px 20px;
    }
    .jcrtp-facts__row + .jcrtp-facts__row { border-top: 0; }
    .jcrtp-home__columns {
        grid-template-columns: minmax(0, 1fr);
    }
    .jcrtp-latest {
        padding: 0;
        border: 0;
    }
}

@media (max-width: 767px) {
    .jcrtp-hero::before {
        background: linear-gradient(180deg, rgba(246, 248, 251, .96) 0%, rgba(246, 248, 251, .93) 100%);
    }
    .jcrtp-features__list {
        grid-template-columns: minmax(0, 1fr);
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .jcrtp-home .jcrtp-feature,
    .jcrtp-feature:nth-child(odd) {
        padding: 12px 0;
        border-left: 0;
    }
    .jcrtp-feature + .jcrtp-feature { border-top: 1px solid var(--home-line); }
    .jcrtp-feature__icon { width: 52px; height: 52px; }
    .jcrtp-feature__icon svg { width: 28px; height: 28px; }
    .jcrtp-home__aside { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 599px) {
    .jcrtp-facts { grid-template-columns: minmax(0, 1fr); }
    .jcrtp-hero__actions { flex-direction: column; align-items: stretch; }
    :is(.jcrtp-home, .jcrtp-inner) a.jcrtp-btn { width: 100%; }
    .jcrtp-current__card {
        grid-template-columns: minmax(0, 1fr);
    }
    .jcrtp-current__cover {
        width: min(200px, 60%);
    }
    .jcrtp-current__card--empty { grid-template-columns: minmax(0, 1fr); }
    .jcrtp-current__actions .jcrtp-btn { flex: 1 1 100%; }
    .jcrtp-home .jcrtp-article-card { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }
    .jcrtp-home-panel__head { flex-wrap: wrap; }
}
