/* ============================================================
   ABIHRJ HOME V3 — Layout estilo portal de notícias
   Identidade visual: paleta azul ABIHRJ preservada
   Escopo: tudo prefixado .abihrj-v3-* (zero conflito)
   ============================================================ */

/* ============================================================
   REMOVE ESPAÇOS INJETADOS PELO TEMA (slots de anúncio Jannah)
   que aparecem entre o menu e o conteúdo na home v3
   ============================================================ */
/* CSS carrega APENAS na home-v3, então sem prefixo de body class aqui */
.stream-item-below-header,
.stream-item-above-post-content,
.stream-item-above-header,
.stream-item-top-wrapper,
.stream-item-top,
#header-notification-bar,
.tie-breadcrumbs,
.breadcrumb-container {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

/* Força fundo branco SOMENTE no wrapper de conteúdo da home v3 (não toca no #footer) */
body.page-template-template-home-v3-php #tie-wrapper,
body.page-template-template-home-v3-php #tie-body,
body.page-template-template-home-v3-php #tie-wrapper > .main-content,
body.page-template-template-home-v3-php #content,
body.page-template-template-home-v3-php .container-wrapper > .main-content,
body.page-template-template-home-v3-php .single-page-wrap {
    background: #ffffff !important;
}

/* Remove padding/cards do wrapper de página padrão do tema na home v3 (escopo restrito) */
body.page-template-template-home-v3-php .single-page-wrap,
body.page-template-template-home-v3-php .single-page-wrap > article,
body.page-template-template-home-v3-php .single-page-wrap > article > .post-inner,
body.page-template-template-home-v3-php .single-page-wrap > article > .post-inner > .entry-content,
body.page-template-template-home-v3-php #content,
body.page-template-template-home-v3-php .container-wrapper,
body.page-template-template-home-v3-php #tie-wrapper > .main-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    background: #fff !important;
}

/* Zera alturas herdadas do tema em todos elementos da home v3 */
#abihrj-v3-home,
#abihrj-v3-home *,
.abihrj-v3-utilbar,
.abihrj-v3-utilbar__inner {
    min-height: 0 !important;
    max-height: none !important;
}
.abihrj-v3-utilbar,
.abihrj-v3-utilbar__inner { height: auto !important; }

/* Zera espaçamento superior do primeiro bloco (utility bar cola no menu) */
.abihrj-v3 > .abihrj-v3-utilbar { margin-top: 0; }
.abihrj-v3 > .abihrj-v3-block:first-of-type,
.abihrj-v3 > .abihrj-v3-utilbar + .abihrj-v3-block { padding-top: 16px !important; }

/* Esconde header/título/meta da Page wrapper — escopo restrito ao article do template */
body.page-template-template-home-v3-php .single-page-wrap > article > .post-header,
body.page-template-template-home-v3-php .single-page-wrap > article > .post-inner > .post-header,
body.page-template-template-home-v3-php .single-page-wrap > article > .post-inner > .entry-header,
body.page-template-template-home-v3-php .single-page-wrap > article > .post-inner > .post-meta {
    display: none !important;
}

.abihrj-v3 {
    --abj-blue:        #003b9f;
    --abj-blue-dark:   #001f6b;
    --abj-blue-mid:    #0050a0;
    --abj-blue-light:  #006fc5;
    --abj-blue-hover:  #0052cc;
    --abj-ink:         #1f2024;
    --abj-ink-soft:    #4a4d55;
    --abj-muted:       #6b6e76;
    --abj-line:        #e6e8ec;
    --abj-bg:          #ffffff;
    --abj-card-bg:     #ffffff;
    --abj-radius:      4px;
    --abj-shadow:      0 1px 3px rgba(15, 23, 42, .06);
    --abj-shadow-md:   0 6px 20px rgba(15, 23, 42, .10);

    background: var(--abj-bg);
    color: var(--abj-ink);
}

.abihrj-v3 * { box-sizing: border-box; }
.abihrj-v3 a { text-decoration: none; color: inherit; }
.abihrj-v3 img { max-width: 100%; height: auto; display: block; }

/* Block spacing */
.abihrj-v3-block { padding: 32px 0; }
.abihrj-v3-block + .abihrj-v3-block { border-top: 0; }
/* Card boxes — sem fundo cinza, sem sombra (visual clean em fundo branco) */
.abihrj-v3-list--timeline,
.abihrj-v3-trending {
    background: #fff;
    box-shadow: none;
    border: 1px solid var(--abj-line);
}
.abihrj-v3-card,
.abihrj-v3-twocol__listitem {
    box-shadow: none;
    border: 1px solid var(--abj-line);
}
.abihrj-v3-card:hover,
.abihrj-v3-twocol__listitem:hover {
    box-shadow: 0 4px 14px rgba(15,23,42,.08);
    border-color: transparent;
}
.abihrj-v3-region { box-shadow: none; }
.abihrj-v3-region:hover { box-shadow: 0 4px 14px rgba(15,23,42,.10); }

@media (max-width: 768px) {
    .abihrj-v3-block { padding: 28px 0; }
}

/* ============================================================
   SECTION HEAD (cabeçalho de cada bloco)
   ============================================================ */
.abihrj-v3-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--abj-blue);
}
.abihrj-v3-section-head__title {
    font-size: 20px;
    font-weight: 800;
    margin: 0;
    color: var(--abj-ink);
    letter-spacing: -0.01em;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.abihrj-v3-section-head--sm .abihrj-v3-section-head__title { font-size: 16px; }
.abihrj-v3-section-head__more {
    font-size: 13px;
    font-weight: 600;
    color: var(--abj-blue);
    transition: color .18s;
    white-space: nowrap;
}
.abihrj-v3-section-head__more:hover { color: var(--abj-blue-hover); }

/* Pulse dot (Última Hora) */
.abihrj-v3-pulse {
    width: 10px; height: 10px; border-radius: 50%;
    background: var(--abj-blue);
    box-shadow: 0 0 0 0 rgba(0, 59, 159, .55);
    animation: abj-pulse 1.8s ease-in-out infinite;
    display: inline-block;
}
@keyframes abj-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(0, 59, 159, .55); }
    50%      { box-shadow: 0 0 0 9px rgba(0, 59, 159, 0); }
}

/* ============================================================
   UTILITY BAR (data + atalhos)
   ============================================================ */
.abihrj-v3-utilbar {
    background: #fff;
    border-bottom: 1px solid var(--abj-line);
    font-size: 12.5px;
}
.abihrj-v3-utilbar__inner {
    display: flex; flex-wrap: wrap;
    align-items: center; justify-content: space-between;
    padding: 8px 20px; gap: 12px;
    max-width: 1240px;
    margin: 0 auto;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
}
.abihrj-v3-utilbar__date {
    color: var(--abj-muted); font-weight: 600;
    text-transform: capitalize;
}
.abihrj-v3-utilbar__links { display: flex; gap: 18px; flex-wrap: wrap; }
.abihrj-v3-utilbar__links a {
    color: var(--abj-ink-soft); font-weight: 600; transition: color .15s;
}
.abihrj-v3-utilbar__links a:hover { color: var(--abj-blue); }

/* ============================================================
   CARD BASE
   ============================================================ */
.abihrj-v3-card {
    background: var(--abj-card-bg);
    border-radius: var(--abj-radius);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
    box-shadow: var(--abj-shadow);
    display: flex; flex-direction: column;
}
.abihrj-v3-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--abj-shadow-md);
}
.abihrj-v3-card__media {
    position: relative;
    overflow: hidden;
    display: block;
    background: #e9ebf0;
    aspect-ratio: 16 / 10;
}
.abihrj-v3-card__media img,
.abihrj-v3-card__media .abihrj-v3-img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .55s ease;
}
.abihrj-v3-card:hover .abihrj-v3-card__media img {
    transform: scale(1.05);
}

/* Category label */
.abihrj-v3-card__cat {
    position: absolute; bottom: 10px; left: 10px; z-index: 2;
    background: var(--abj-blue);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 5px 10px;
    border-radius: 2px;
    line-height: 1.2;
}
.abihrj-v3-card__cat--sm {
    font-size: 10px; padding: 3px 7px;
}

/* Em cards com overlay (hero), categoria vai no TOPO pra não conflitar com título embaixo */
.abihrj-v3-card__media--overlay .abihrj-v3-card__cat {
    top: 12px;
    left: 12px;
    bottom: auto;
}

/* Body */
.abihrj-v3-card__body {
    padding: 14px 16px 16px;
    display: flex; flex-direction: column; gap: 8px;
    flex: 1;
}
.abihrj-v3-card__title {
    margin: 0;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--abj-ink);
}
.abihrj-v3-card__title a { color: inherit; transition: color .18s; }
.abihrj-v3-card__title a:hover { color: var(--abj-blue); }
.abihrj-v3-card__excerpt {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--abj-ink-soft);
}
.abihrj-v3-card__meta {
    font-size: 12px;
    color: var(--abj-muted);
    margin-top: auto;
}

/* ============================================================
   BLOCK · HERO
   ============================================================ */
.abihrj-v3-hero__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 12px;
    min-height: 520px;
}
.abihrj-v3-hero__grid > .abihrj-v3-card--hero {
    grid-row: 1 / span 2;
}
.abihrj-v3-card--hero,
.abihrj-v3-card--hero-sub {
    overflow: hidden;
    position: relative;
}
.abihrj-v3-card--hero .abihrj-v3-card__media,
.abihrj-v3-card--hero-sub .abihrj-v3-card__media {
    aspect-ratio: auto;
    height: 100%;
    min-height: 100%;
}
.abihrj-v3-card__media--overlay::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,0) 100%);
    z-index: 1;
    pointer-events: none;
}
.abihrj-v3-card__overlay {
    position: absolute; left: 0; right: 0; bottom: 0;
    z-index: 2;
    padding: 20px 22px 18px;
    color: #fff;
    display: flex; flex-direction: column; gap: 6px;
}
.abihrj-v3-card__title--hero {
    font-size: 28px;
    line-height: 1.18;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.abihrj-v3-card__title--sub {
    font-size: 15px;
    line-height: 1.3;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,.55);
    margin: 0;
}
.abihrj-v3-card--hero .abihrj-v3-card__excerpt {
    color: rgba(255,255,255,.92); font-size: 14px;
}
.abihrj-v3-card--hero .abihrj-v3-card__meta {
    color: rgba(255,255,255,.8);
}

@media (max-width: 1024px) {
    .abihrj-v3-hero__grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        min-height: 0;
    }
    .abihrj-v3-hero__grid > .abihrj-v3-card--hero {
        grid-row: auto; grid-column: 1 / -1;
    }
    .abihrj-v3-card--hero .abihrj-v3-card__media { aspect-ratio: 16 / 9; }
    .abihrj-v3-card--hero-sub .abihrj-v3-card__media { aspect-ratio: 16 / 10; }
    .abihrj-v3-card__title--hero { font-size: 22px; }
}
@media (max-width: 600px) {
    .abihrj-v3-hero__grid { grid-template-columns: 1fr; }
    .abihrj-v3-card__title--hero { font-size: 19px; }
}

/* ============================================================
   BLOCK · ÚLTIMA HORA / TIMELINE LIST
   ============================================================ */
.abihrj-v3-list { list-style: none; padding: 0; margin: 0; }
.abihrj-v3-list--timeline { background: #fff; border-radius: var(--abj-radius); box-shadow: var(--abj-shadow); }
.abihrj-v3-list__item {
    display: grid;
    grid-template-columns: 70px 1fr 90px;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--abj-line);
    transition: background .15s;
}
.abihrj-v3-list__item:last-child { border-bottom: 0; }
.abihrj-v3-list__item:hover { background: #fafbfd; }
.abihrj-v3-list__time {
    font-size: 12.5px; font-weight: 700; color: var(--abj-blue);
    font-variant-numeric: tabular-nums;
    border-right: 2px solid var(--abj-line);
    padding-right: 14px;
}
.abihrj-v3-list__cat {
    display: inline-block;
    font-size: 10.5px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: var(--abj-blue);
    margin-bottom: 3px;
}
.abihrj-v3-list__title {
    display: block;
    font-size: 15px; font-weight: 600; line-height: 1.35;
    color: var(--abj-ink); transition: color .15s;
}
.abihrj-v3-list__title:hover { color: var(--abj-blue); }
.abihrj-v3-list__thumb {
    width: 90px; height: 60px; overflow: hidden; border-radius: 3px;
    display: block; background: #e9ebf0;
}
.abihrj-v3-list__thumb img {
    width: 100%; height: 100%; object-fit: cover;
}
@media (max-width: 600px) {
    .abihrj-v3-list__item {
        grid-template-columns: 1fr 70px;
        gap: 10px; padding: 12px 14px;
    }
    .abihrj-v3-list__time { display: none; }
    .abihrj-v3-list__thumb { width: 70px; height: 50px; }
}

/* Variant: weather list (sem horário) */
.abihrj-v3-list--weather .abihrj-v3-list__item {
    grid-template-columns: 1fr 80px;
}

/* ============================================================
   BLOCK · TWO COLUMN (Turismo + Hotelaria, Roteiros + Tempo)
   ============================================================ */
.abihrj-v3-twocol__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}
.abihrj-v3-twocol__col { min-width: 0; }
.abihrj-v3-twocol__inner {
    display: flex; flex-direction: column; gap: 16px;
}
.abihrj-v3-twocol__list {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 12px;
}
.abihrj-v3-twocol__listitem {
    display: grid; grid-template-columns: 80px 1fr;
    gap: 12px; align-items: center;
    background: #fff; padding: 10px;
    border-radius: var(--abj-radius);
    box-shadow: var(--abj-shadow);
    transition: transform .2s;
}
.abihrj-v3-twocol__listitem:hover { transform: translateX(2px); }
.abihrj-v3-twocol__listthumb {
    width: 80px; height: 60px; overflow: hidden; border-radius: 3px;
    background: #e9ebf0; display: block;
}
.abihrj-v3-twocol__listthumb img { width: 100%; height: 100%; object-fit: cover; }
.abihrj-v3-twocol__listtitle {
    font-size: 14px; font-weight: 600; line-height: 1.3;
    color: var(--abj-ink); display: block;
    transition: color .15s;
}
.abihrj-v3-twocol__listtitle:hover { color: var(--abj-blue); }

@media (max-width: 900px) {
    .abihrj-v3-twocol__grid { grid-template-columns: 1fr; gap: 36px; }
}

/* ============================================================
   BLOCK · EVENTS GRID
   ============================================================ */
.abihrj-v3-events__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.abihrj-v3-card--event .abihrj-v3-card__media { aspect-ratio: 4 / 3; }
.abihrj-v3-card__date-badge {
    position: absolute; top: 12px; left: 12px; z-index: 2;
    background: #fff;
    border-radius: 3px;
    padding: 6px 10px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    min-width: 52px;
    line-height: 1;
}
.abihrj-v3-card__date-day {
    display: block;
    font-size: 22px; font-weight: 800; color: var(--abj-blue);
    line-height: 1;
}
.abihrj-v3-card__date-month {
    display: block;
    font-size: 10px; font-weight: 700; color: var(--abj-ink-soft);
    text-transform: uppercase; letter-spacing: .08em;
    margin-top: 2px;
}
@media (max-width: 900px) {
    .abihrj-v3-events__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .abihrj-v3-events__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   BLOCK · SPLIT (Destinos + Mais Lidas)
   ============================================================ */
.abihrj-v3-split__grid {
    display: grid;
    grid-template-columns: 2.2fr 1fr;
    gap: 32px;
}
.abihrj-v3-split__main { min-width: 0; }

.abihrj-v3-regions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.abihrj-v3-regions > .abihrj-v3-region:first-child {
    grid-column: span 2;
    grid-row: span 2;
}
.abihrj-v3-regions > .abihrj-v3-region:first-child .abihrj-v3-region__media {
    aspect-ratio: 16 / 10;
}
.abihrj-v3-regions > .abihrj-v3-region:first-child .abihrj-v3-region__name {
    font-size: 22px;
}
.abihrj-v3-region {
    position: relative; overflow: hidden; border-radius: var(--abj-radius);
    background: #1a1a1a;
    transition: transform .25s;
    box-shadow: var(--abj-shadow);
}
.abihrj-v3-region:hover { transform: translateY(-2px); }
.abihrj-v3-region__media { aspect-ratio: 4 / 3; position: relative; overflow: hidden; }
.abihrj-v3-region__media::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,31,107,.92) 0%, rgba(0,31,107,.35) 60%, transparent 100%);
}
.abihrj-v3-region__media img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .55s;
}
.abihrj-v3-region:hover .abihrj-v3-region__media img { transform: scale(1.06); }
.abihrj-v3-region__placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--abj-blue-dark), var(--abj-blue-light));
}
.abihrj-v3-region__info {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 14px 16px; color: #fff;
}
.abihrj-v3-region__name {
    margin: 0 0 2px;
    font-size: 16px; font-weight: 800; line-height: 1.2;
    text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.abihrj-v3-region__count {
    font-size: 11.5px; color: rgba(255,255,255,.85);
    text-transform: uppercase; letter-spacing: .06em;
}

/* Trending sidebar */
.abihrj-v3-trending {
    list-style: none; padding: 0; margin: 0;
    background: #fff; border-radius: var(--abj-radius);
    box-shadow: var(--abj-shadow);
    counter-reset: abj-trend;
}
.abihrj-v3-trending__item {
    counter-increment: abj-trend;
    padding: 14px 16px 14px 56px;
    border-bottom: 1px solid var(--abj-line);
    position: relative;
}
.abihrj-v3-trending__item:last-child { border-bottom: 0; }
.abihrj-v3-trending__item::before {
    content: counter(abj-trend);
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    font-size: 28px; font-weight: 800;
    color: var(--abj-blue);
    line-height: 1;
    width: 32px; text-align: center;
    opacity: .65;
}
.abihrj-v3-trending__item a {
    display: block;
    font-size: 13.5px; font-weight: 600; line-height: 1.35;
    color: var(--abj-ink);
    transition: color .15s;
}
.abihrj-v3-trending__item a:hover { color: var(--abj-blue); }
.abihrj-v3-trending__item .abihrj-v3-card__meta {
    display: block; margin-top: 4px;
}

@media (max-width: 1024px) {
    .abihrj-v3-split__grid { grid-template-columns: 1fr; }
    .abihrj-v3-regions { grid-template-columns: repeat(2, 1fr); }
    .abihrj-v3-regions > .abihrj-v3-region:first-child {
        grid-column: span 2; grid-row: span 1;
    }
}
@media (max-width: 600px) {
    .abihrj-v3-regions { grid-template-columns: 1fr; }
    .abihrj-v3-regions > .abihrj-v3-region:first-child { grid-column: span 1; }
}

/* ============================================================
   BLOCK · NEWSLETTER CTA
   ============================================================ */
.abihrj-v3-newsletter {
    background: linear-gradient(135deg, var(--abj-blue-dark) 0%, var(--abj-blue-mid) 55%, var(--abj-blue-light) 100%);
    color: #fff;
    border-top: 0; border-bottom: 0;
    padding: 36px 0;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
}
/* Remove qualquer height/min-height herdado do tema nos filhos */
.abihrj-v3-newsletter .abihrj-v3-newsletter__inner,
.abihrj-v3-newsletter .tie-container {
    min-height: 0 !important;
    height: auto !important;
}
.abihrj-v3-newsletter__inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    align-items: center;
    gap: 28px;
}
.abihrj-v3-newsletter__text h2 {
    margin: 0 0 6px; color: #fff;
    font-size: 24px; font-weight: 800; line-height: 1.2;
}
.abihrj-v3-newsletter__text p {
    margin: 0; color: rgba(255,255,255,.9); font-size: 15px;
}
.abihrj-v3-newsletter__form {
    display: flex; gap: 8px;
}
.abihrj-v3-newsletter__form input {
    flex: 1;
    border: 0;
    border-radius: 3px;
    padding: 13px 14px;
    font-size: 14px;
    background: #fff;
    color: var(--abj-ink);
}
.abihrj-v3-newsletter__form button {
    border: 0;
    background: #fff;
    color: var(--abj-blue-dark);
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 13px 22px;
    border-radius: 3px;
    cursor: pointer;
    transition: background .18s, color .18s;
}
.abihrj-v3-newsletter__form button:hover {
    background: var(--abj-blue-dark); color: #fff;
}
@media (max-width: 768px) {
    .abihrj-v3-newsletter__inner { grid-template-columns: 1fr; }
    .abihrj-v3-newsletter__form { flex-direction: column; }
}

/* ============================================================
   BLOCK · AÇÕES (cards horizontais)
   ============================================================ */
.abihrj-v3-acoes__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.abihrj-v3-card--horizontal {
    flex-direction: row;
}
.abihrj-v3-card--horizontal .abihrj-v3-card__media {
    flex: 0 0 40%;
    aspect-ratio: auto;
}
.abihrj-v3-card--horizontal .abihrj-v3-card__body {
    flex: 1;
    padding: 16px 18px;
}
.abihrj-v3-card--horizontal .abihrj-v3-card__title { font-size: 15px; }
.abihrj-v3-card--horizontal .abihrj-v3-card__excerpt {
    font-size: 13px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 900px) {
    .abihrj-v3-acoes__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   BLOCK · ROTEIROS (4-card grid)
   ============================================================ */
.abihrj-v3-roteiros {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.abihrj-v3-roteiros .abihrj-v3-card__media { aspect-ratio: 4 / 3; }
.abihrj-v3-roteiros .abihrj-v3-card__title { font-size: 14px; line-height: 1.3; }
.abihrj-v3-roteiros .abihrj-v3-card__body { padding: 10px 12px 12px; }

/* ============================================================
   BLOCK · TRIO CTA
   ============================================================ */
.abihrj-v3-cta-trio__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.abihrj-v3-cta-card {
    display: block;
    background: #fff;
    border: 1px solid var(--abj-line);
    border-radius: var(--abj-radius);
    padding: 24px;
    text-align: center;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.abihrj-v3-cta-card:hover {
    transform: translateY(-3px);
    border-color: var(--abj-blue);
    box-shadow: var(--abj-shadow-md);
}
.abihrj-v3-cta-card__icon {
    display: block;
    font-size: 36px;
    margin-bottom: 10px;
    line-height: 1;
}
.abihrj-v3-cta-card h3 {
    margin: 0 0 6px;
    font-size: 16px; font-weight: 800;
    color: var(--abj-blue-dark);
}
.abihrj-v3-cta-card p {
    margin: 0;
    font-size: 13.5px; color: var(--abj-muted);
    line-height: 1.45;
}
@media (max-width: 768px) {
    .abihrj-v3-cta-trio__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   COMPACT CARD VARIANT
   ============================================================ */
.abihrj-v3-card--compact .abihrj-v3-card__body { padding: 10px 12px 12px; gap: 4px; }
.abihrj-v3-card--compact .abihrj-v3-card__title { font-size: 14px; line-height: 1.3; }

/* ============================================================
   FEATURE CARD (top of two-column block)
   ============================================================ */
.abihrj-v3-card--feature .abihrj-v3-card__media { aspect-ratio: 16 / 9; }
.abihrj-v3-card--feature .abihrj-v3-card__title { font-size: 18px; }

/* ============================================================
   BLOCK · ÚLTIMAS MATÉRIAS (grid + load more)
   ============================================================ */
.abihrj-v3-latest__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
@media (max-width: 1024px) { .abihrj-v3-latest__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .abihrj-v3-latest__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .abihrj-v3-latest__grid { grid-template-columns: 1fr; } }

.abihrj-v3-latest__actions {
    display: flex; justify-content: center;
    margin-top: 28px;
}
.abihrj-v3-loadmore {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--abj-blue);
    color: #fff;
    border: 0;
    border-radius: 3px;
    padding: 14px 32px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
    transition: background .2s, transform .15s;
}
.abihrj-v3-loadmore:hover:not(:disabled) {
    background: var(--abj-blue-hover);
    transform: translateY(-1px);
}
.abihrj-v3-loadmore:disabled {
    background: #cfd2d8; cursor: default; color: #fff;
}
.abihrj-v3-loadmore.is-done { background: var(--abj-blue-dark); }
.abihrj-v3-loadmore__spinner {
    width: 14px; height: 14px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: none;
    animation: abj-spin .7s linear infinite;
}
.abihrj-v3-loadmore.is-loading .abihrj-v3-loadmore__spinner { display: inline-block; }
@keyframes abj-spin { to { transform: rotate(360deg); } }
