/* Home page sections. Rows are WPBakery vc_row elements identified by el_id. Uses tokens.css. */

/* Shared card look for every home row (rows 2–5 get their own rules in later tasks). */
#top_stiri,
#home_ocde,
#home_partners,
#home_proiecte_ro,
#home_partners_carousel,
#home_video {
    box-sizing: border-box;
    margin-bottom: var(--rrd-space-3);
    padding: var(--rrd-space-3);
    background: var(--rrd-card);
    border: 1px solid var(--rrd-line);
    border-radius: var(--rrd-radius-card);
}

.home .block-head-c {
    margin-bottom: var(--rrd-space-2);
    padding-bottom: 10px;
    border-bottom: 2px solid var(--rrd-navy);
}
.home .block-head-c h4.title,
.home .block-head-c h4.title a {
    margin: 0;
    color: var(--rrd-navy);
    padding-left: 0;
    font-size: var(--rrd-text-24);
    font-weight: 600;
    text-transform: none;
}

/* One middle-dot separator for all meta (the parent uses a hyphen). OCDE text rows hide it further down. */
.home .post-meta .meta-sep::before { content: "\00b7"; }
#top_stiri .large-post .post-meta .date-link { text-transform: none; }

/* 1. Lead carousel + Top Știri */
#top_stiri .large-post { box-sizing: border-box; width: 100%; margin: 0; padding: 0; }
#top_stiri .large-post .featured { height: auto; margin: 0 0 var(--rrd-space-2); overflow: hidden; }
#top_stiri .large-post .featured img {
    width: 100%;
    aspect-ratio: 16 / 8;
    object-fit: cover;
    border-radius: var(--rrd-radius-img);
}
#top_stiri .large-post .post-title-alt,
#top_stiri .large-post h2 {
    max-width: 100%;
    font-size: var(--rrd-text-28);
    font-weight: 600;
    line-height: 1.25;
    word-break: normal;
}
#top_stiri .large-post .post-meta .date-link { color: var(--rrd-muted); font-size: var(--rrd-text-14); }
#top_stiri .large-post .post-content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    color: var(--rrd-muted);
    font-size: var(--rrd-text-16);
}
#top_stiri .large-post .post-footer { display: none; }

/* Slick controls: 44px, navy, inside the card, in a row under the slide. */
#top_stiri .slick-slider { padding-bottom: 56px; }
#top_stiri .slick-list { overflow: hidden; }
#top_stiri .slick-arrow {
    top: auto;
    bottom: 0;
    transform: none;
    width: var(--rrd-hit);
    height: var(--rrd-hit);
    margin: 0;
    border: 1px solid var(--rrd-field);
    border-radius: var(--rrd-radius-img);
    background: var(--rrd-card);
    z-index: 2;
}
#top_stiri .slick-arrow::before { color: var(--rrd-navy); opacity: 1; font-family: 'ts-icons'; font-size: 18px; line-height: 1; }
#top_stiri .slick-prev::before { content: '\f104'; }
#top_stiri .slick-next::before { content: '\f105'; }
#top_stiri .slick-prev { left: 0; }
#top_stiri .slick-next { right: 0; }
#top_stiri .slick-dots { bottom: 10px; }
#top_stiri .slick-dots li,
#top_stiri .slick-dots li button { width: 24px; height: 24px; }
#top_stiri .slick-dots li button::before { color: var(--rrd-field); opacity: 1; font-size: 10px; }
#top_stiri .slick-dots li.slick-active button::before { color: var(--rrd-navy); }

/* Top Știri list: text left, 88px thumbnail right. */
#top_stiri .block-head-c h4.title {
    font-size: 18px;
    background: url(../../img/logo-final-cat.png) no-repeat left center;
    padding-left: 50px;
}
#top_stiri .block-head-c h4.title a { font-size: 18px; }
#top_stiri .list-post {
    display: flex;
    flex-direction: row;
    gap: 14px;
    align-items: flex-start;
    margin: 0;
    padding: var(--rrd-space-2) 0;
    border-bottom: 1px solid var(--rrd-line);
}
#top_stiri .posts-wrap > .col-12:last-child .list-post { border-bottom: 0; }
#top_stiri .list-post .post-thumb { order: 2; flex: none; width: 88px; height: 88px; margin: 0; float: none; }
#top_stiri .list-post .post-thumb img { width: 88px; height: 88px; object-fit: cover; border-radius: var(--rrd-radius-img); }
#top_stiri .list-post .content { flex: 1; min-width: 0; padding: 0; }
#top_stiri .list-post .post-meta { text-transform: none; }
#top_stiri .list-post h2 { font-size: var(--rrd-text-16); font-weight: 600; line-height: 1.35; }
#top_stiri .list-post .post-footer { display: none; }

@media (max-width: 767px) {
    /* The parent gives each row a -15px side margin that cancels the page gutter (cards would run edge to edge). */
    .home .page-content > .wpb_row { margin-left: 0; margin-right: 0; }
    /* Columns keep a 15px side padding for desktop gutters; on phones the card's own 16px padding is the only inset. */
    .home .page-content > .wpb_row > .wpb_column { padding-left: 0; padding-right: 0; }
    .home .block-head-c h4.title,
    .home .block-head-c h4.title a,
    #top_stiri .block-head-c h4.title,
    #top_stiri .block-head-c h4.title a { font-size: 20px; }
    #top_stiri { padding: var(--rrd-space-2); margin-bottom: var(--rrd-space-2); }
    #top_stiri .vc_col-sm-4 { margin-top: var(--rrd-space-3); }
    #top_stiri .large-post .featured img { aspect-ratio: 16 / 10; }
    #top_stiri .large-post .post-title-alt, #top_stiri .large-post h2 { font-size: var(--rrd-text-22); }
    #top_stiri .list-post .post-thumb, #top_stiri .list-post .post-thumb img { width: 72px; height: 72px; }
    /* Category above date, no hyphen. */
    #top_stiri .list-post .post-meta { display: flex; flex-direction: column; align-items: flex-start; }
    #top_stiri .list-post .post-meta .meta-sep { display: none; }
    /* Top Stiri rows: tighter meta tap zone (28px), and a 44px title floor that adds no air on 2+ line titles. */
    #top_stiri .list-post .post-meta a { padding-block: 2px; }
    #top_stiri .list-post h2 { margin-top: 8px; display: flex; align-items: center; min-height: var(--rrd-hit); }
}

/* Meta links (phones and tablets): >=24px exclusive tap zone (WCAG 2.2 floor), so "CAT . date" stays on one row where it fits. */
@media (max-width: 940px) {
    .home .post-meta .post-cat a,
    .home .post-meta .date-link { display: inline-flex; align-items: center; min-height: 24px; padding-block: 4px; }
}

/* ====================================================================
   Rows 2-4: OCDE, Parteneri, Romania / Republica Moldova
   ==================================================================== */

/* Spacer row from the page builder: keep the row, remove the void. */
.home .vc_empty_space { height: 24px !important; }

/* Parent pairs .block margin-bottom 60px with .posts-dynamic -60px; the pairing is broken here, so zero all three. */
.home .block,
.home .posts-dynamic,
.home .posts-wrap { margin-bottom: 0; }

/* Shared grid-card rules for rows 2-4. */
.home .grid-post { height: auto; margin-bottom: 0; padding: 0; overflow: visible; }
.home .grid-post .post-thumb { display: block; width: auto; height: auto; margin: 0 0 12px; overflow: visible; }
.home .grid-post .post-thumb img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home .grid-post .meta-title { height: auto; }
.home .grid-post .meta-title .post-meta { margin: 0 0 6px; }
.home .grid-post h2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-size: var(--rrd-text-19);
    font-weight: 600;
    line-height: 1.3;
}
.home .grid-post .post-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: auto;
    line-height: 1.5;
}
.home .grid-post .post-footer { display: none; }
.home .grid-post .post-meta .date-link,
#home_proiecte_ro .large-post .post-meta .date-link {
    color: var(--rrd-muted);
    font-size: var(--rrd-text-14);
    letter-spacing: 0;
    text-transform: none;
}
/* Post without an image: tinted text card. */
.home .grid-post.no-thumb {
    box-sizing: border-box;
    padding: 20px;
    background: var(--rrd-bg);
    border-radius: var(--rrd-radius-img);
}

/* Masonry bricks (768-940) stack with no gap otherwise: 16px between cards; the Moldova list rows have their own separators. */
@media (max-width: 940px) {
    .home .grid-post { margin-bottom: var(--rrd-space-2); }
    #home_proiecte_ro_g .grid-post { margin-bottom: 0; }
}

/* 2. OCDE / Romania */
#home_ocde { border-top: 4px solid var(--rrd-accent); background-image: none; }
#home_ocde .wpb_column + .wpb_column { margin-top: var(--rrd-space-2); }
/* Text rows: label in a fixed 320px column, title beside it (the h2 sits inside .post-meta). */
#home_ocde .list-post { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--rrd-line); }
#home_ocde .posts-wrap > .col-12:last-child .list-post { border-bottom: 0; }
#home_ocde .list-post .post-thumb,
#home_ocde .list-post .post-footer,
#home_ocde .list-post .meta-sep,
#home_ocde .list-post .date-link { display: none; }
#home_ocde .list-post .content { width: 100%; padding: 0; }
#home_ocde .list-post .post-meta { display: flex; gap: 12px; align-items: baseline; margin: 0; }
#home_ocde .list-post .post-cat { flex: 0 0 320px; }
#home_ocde .list-post h2 { flex: 1 1 0; min-width: 0; margin: 0; font-size: var(--rrd-text-16); font-weight: 600; line-height: 1.35; }

/* 3. RRD / Parteneri */
#home_partners .post-thumb { height: auto; overflow: visible; }
#home_partners .block-head-c h4.title,
#home_proiecte_ro .block-head-c h4.title {
    padding-left: 50px;
    background: url(../../img/logo-final-cat.png) no-repeat left center;
}

/* 4. Romania / Republica Moldova */
#home_proiecte_ro { margin-top: 0; }
#home_proiecte_ro .vc_column-inner { background: transparent; }
#home_proiecte_ro .large-post { padding: 0; margin: 0; }
#home_proiecte_ro .large-post .featured { height: auto; margin: 0 0 12px; overflow: visible; }
#home_proiecte_ro .large-post .featured img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
#home_proiecte_ro .large-post h2 { font-size: var(--rrd-text-22); font-weight: 600; line-height: 1.3; }
#home_proiecte_ro .large-post .post-content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: auto;
    line-height: 1.5;
}
#home_proiecte_ro .large-post .post-footer,
#home_proiecte_ro .large-post .read-more { display: none; }
#home_proiecte_ro_g { margin-top: 0; }
#home_proiecte_ro_g .posts-dynamic { margin-left: 0; margin-right: 0; }
/* Only the pre-masonry / no-JS fallback: masonry positions .col-6 absolutely; width:100% is what stacks the rows. */
#home_proiecte_ro_g .posts-wrap { margin-left: 0; margin-right: 0; display: flex; flex-direction: column; }
#home_proiecte_ro_g .posts-wrap > .col-6 { width: 100%; max-width: 100%; flex: none; padding: 0; margin: 0; border: 0; }
#home_proiecte_ro_g .grid-post { padding: 14px 0; border-bottom: 1px solid var(--rrd-line); }
#home_proiecte_ro_g .posts-wrap > .col-6:last-child .grid-post { border-bottom: 0; }
#home_proiecte_ro_g .grid-post .post-header { display: flex; gap: 14px; align-items: flex-start; margin: 0; padding: 0; }
#home_proiecte_ro_g .grid-post .post-header::before,
#home_proiecte_ro_g .grid-post .post-header::after { content: none; }
#home_proiecte_ro_g .grid-post .post-thumb { flex: none; width: 88px; height: 88px; margin: 0; }
#home_proiecte_ro_g .grid-post .post-thumb img { width: 88px; height: 88px; aspect-ratio: 1; }
#home_proiecte_ro_g .grid-post .meta-title { margin: 0; padding: 0; }
#home_proiecte_ro_g .grid-post h2 { margin: 0; font-size: var(--rrd-text-16); -webkit-line-clamp: 3; }
#home_proiecte_ro_g .grid-post .post-content { display: none; }
#home_proiecte_ro_g .grid-post.no-thumb { padding: 14px 0; background: transparent; }

@media (max-width: 767px) {
    #home_ocde, #home_partners, #home_proiecte_ro { padding: var(--rrd-space-2); margin-bottom: var(--rrd-space-2); }
    .home .grid-post h2 { font-size: 18px; }
    #home_proiecte_ro .large-post h2 { font-size: 18px; }
    #home_proiecte_ro_g { margin-top: var(--rrd-space-2); }
    #home_proiecte_ro_g .grid-post .post-thumb, #home_proiecte_ro_g .grid-post .post-thumb img { width: 72px; height: 72px; }
    #home_ocde .list-post .post-meta { display: block; }
    #home_ocde .list-post .post-cat { display: block; margin: 0 0 4px; }
    /* Long headings wrap beside the logo: keep it on the first line (must come after the base rule above). */
    #home_partners .block-head-c h4.title,
    #home_proiecte_ro .block-head-c h4.title { background-position: left top 2px; }
}

/* 5. Partner logos, banners, Club România Studio */
#home_partners_carousel { padding: 20px var(--rrd-space-3); }
#home_partners_carousel .vc_column-inner,
#home_partners_carousel .wpb_wrapper { padding: 0; margin: 0; }
#home_partners_carousel .rrd-partners-carousel { padding: 0; }
#home_partners_carousel .rrd-partner-slide { height: auto; padding: 0 var(--rrd-space-2); }
#home_partners_carousel .rrd-partner-slide a { display: flex; align-items: center; justify-content: center; height: 44px; }
#home_partners_carousel .rrd-partner-slide img {
    min-width: 0;
    width: auto;
    height: auto;
    max-height: 32px;
    max-width: 150px;
    object-fit: contain;
    filter: grayscale(1) opacity(.7);
    transition: filter .2s ease;
}
#home_partners_carousel .rrd-partner-slide a:hover { opacity: 1; transform: none; }
#home_partners_carousel .rrd-partner-slide a:hover img,
#home_partners_carousel .rrd-partner-slide a:focus-visible img { filter: none; }
#home_partners_carousel .slick-arrow { z-index: 2; width: var(--rrd-hit); height: var(--rrd-hit); opacity: .5; }
#home_partners_carousel .slick-arrow:hover,
#home_partners_carousel .slick-arrow:focus-visible { opacity: 1; }
#home_partners_carousel .slick-list { margin: 0 var(--rrd-hit); }
#home_partners_carousel .slick-prev { left: 0; }
#home_partners_carousel .slick-next { right: 0; }
#home_partners_carousel .slick-arrow:focus-visible { outline: 2px solid var(--rrd-accent); outline-offset: 2px; border-radius: 50%; }
#home_partners_carousel .slick-arrow::before { color: var(--rrd-navy); }

.home .wpb_single_image { margin-bottom: var(--rrd-space-3); text-align: center; }
/* Rows overhang the column by 15px on tablet/desktop; banners match them. */
@media (min-width: 768px) { .home .wpb_single_image { margin-left: -15px; margin-right: -15px; } }
.home .wpb_single_image .vc_figure,
.home .wpb_single_image .vc_single_image-wrapper { display: block; max-width: 100%; border: 0; padding: 0; }
.home .wpb_single_image img { display: inline-block; width: 100%; max-width: 100%; height: auto; border-radius: var(--rrd-radius-img); }

/* Studio: one navy band made of two rows. */
#home_video_t,
#home_video { box-sizing: border-box; background: var(--rrd-navy); border: 0; }
#home_video_t {
    margin-bottom: 0;
    padding: var(--rrd-space-3) var(--rrd-space-3) 0;
    border-radius: var(--rrd-radius-card) var(--rrd-radius-card) 0 0;
}
#home_video {
    margin-bottom: 0;
    padding: var(--rrd-space-3);
    border-radius: 0 0 var(--rrd-radius-card) var(--rrd-radius-card);
    overflow: hidden;
}
#home_video_t .vc_column-inner,
#home_video_t .wpb_wrapper,
#home_video_t .wpb_raw_code,
#home_video .vc_column-inner,
#home_video .wpb_wrapper { padding: 0; margin: 0; background: transparent; }
#home_video_t h4.title,
#home_video_t h4.title a {
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var(--rrd-text-22);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}
#home_video .rrd-studio-section { margin: 0; }
#home_video .rrd-studio-grid { gap: var(--rrd-space-3); }
#home_video .rrd-studio-video-item { background: transparent; border-radius: 0; box-shadow: none; overflow: visible; transform: none; }
#home_video lite-youtube { border-radius: var(--rrd-radius-img); overflow: hidden; }
#home_video lite-youtube > .lty-playbtn {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #fff;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 6.5v11l9-5.5z" fill="%23174172"/></svg>');
    background-position: center;
    background-size: 28px 28px;
    background-repeat: no-repeat;
    filter: none;
}
#home_video lite-youtube:hover > .lty-playbtn,
#home_video lite-youtube .lty-playbtn:focus { background-color: var(--rrd-accent); filter: none; }
#home_video .rrd-studio-video-title,
#home_video .wpb_wrapper p.rrd-studio-video-title {
    height: auto;
    margin: var(--rrd-space-1) 0 0;
    padding: 0;
    background: transparent;
    color: #fff;
    font-size: var(--rrd-text-16);
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

/* 768, not 767: the partner-carousel plugin switches its own layout at 768, so this block must follow it. */
@media (max-width: 768px) {
    #home_partners_carousel { padding: var(--rrd-space-2); }
    #home_partners_carousel .rrd-partner-slide img { max-height: 26px; max-width: 110px; }
    #home_video_t { padding: var(--rrd-space-2) var(--rrd-space-2) 0; }
    #home_video { padding: var(--rrd-space-2); }
    #home_video .rrd-studio-grid { grid-template-columns: 1fr; gap: var(--rrd-space-2); }
}
