/* All layout rules are scoped to this widget. No framework or external fonts. */
.ipp-widget {
    --ipp-title-color: #111111;
    --ipp-text-color: #242424;
    --ipp-meta-color: #454545;
    --ipp-category-color: #111111;
    --ipp-hover-color: #315f9b;
    --ipp-row-gap: 20px;
    --ipp-card-gap: 12px;
    --ipp-hero-gap: 36px;
    --ipp-image-radius: 0px;
    --ipp-hero-ratio: 1.68;
    --ipp-card-ratio: 1.9;
    container-type: inline-size;
    container-name: ipp-widget;
    width: 100%;
    min-width: 0;
    font-family: inherit;
    text-align: start;
}
.ipp-widget, .ipp-widget * { box-sizing: border-box; }
.ipp-widget .ipp-layout { display: grid; gap: var(--ipp-row-gap); min-width: 0; }
.ipp-widget .ipp-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px var(--ipp-card-gap);
    align-items: stretch;
    min-width: 0;
}
.ipp-widget .ipp-card { min-width: 0; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.ipp-widget .ipp-card--main {
    display: grid;
    grid-template-columns: minmax(0, 1.055fr) minmax(0, 1fr);
    gap: var(--ipp-hero-gap);
    align-items: start;
}
.ipp-widget .ipp-card--small { display: flex; flex-direction: column; }
.ipp-widget .ipp-media {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: var(--ipp-card-ratio);
    border-radius: var(--ipp-image-radius);
    background: #eef0f3;
    color: inherit;
    line-height: 0;
    flex-shrink: 0;
    text-decoration: none;
}
.ipp-widget .ipp-card--main .ipp-media { aspect-ratio: var(--ipp-hero-ratio); }
.ipp-widget .ipp-image, .ipp-widget .ipp-image-placeholder {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: center;
    border: 0;
    border-radius: 0;
}
.ipp-widget .ipp-content { display: flex; flex-direction: column; min-width: 0; }
.ipp-widget .ipp-card--main .ipp-content { align-self: stretch; padding: 12px 0 8px; }
.ipp-widget .ipp-card--small .ipp-content { flex: 1; padding: 10px 8px 0; }
.ipp-widget .ipp-title {
    margin: 0 0 12px;
    padding: 0;
    color: var(--ipp-title-color);
    font-family: inherit;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
    overflow-wrap: anywhere;
}
.ipp-widget .ipp-card--main .ipp-title { font-size: 38px; line-height: 1.12; margin-bottom: 12px; }
.ipp-widget .ipp-title a {
    color: inherit;
    text-decoration: none;
    box-shadow: none;
    border: 0;
    font: inherit;
    line-height: inherit;
}
.ipp-widget .ipp-title a:hover, .ipp-widget .ipp-category:hover { color: var(--ipp-hover-color); }
.ipp-widget .ipp-excerpt {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--ipp-text-color);
    overflow-wrap: anywhere;
}
.ipp-widget .ipp-card--main .ipp-excerpt { font-size: 22px; line-height: 1.35; }
.ipp-widget .ipp-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 3px 5px;
    margin-top: auto;
    padding-top: 18px;
    color: var(--ipp-meta-color);
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.ipp-widget .ipp-card--main .ipp-meta { font-size: 19px; padding-top: 20px; }
.ipp-widget .ipp-category { color: var(--ipp-category-color); text-decoration: none; box-shadow: none; font-weight: 600; }
.ipp-widget .ipp-card--main .ipp-category { font-weight: 400; }
.ipp-widget .ipp-time, .ipp-widget .ipp-date { white-space: nowrap; font: inherit; color: inherit; }
.ipp-widget .ipp-meta-separator { color: inherit; }
.ipp-widget a:focus-visible { outline: 2px solid var(--ipp-hover-color); outline-offset: 3px; }
.ipp-widget .ipp-media:focus-visible { outline-offset: -3px; }
.ipp-widget .ipp-slot-guide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-height: 180px;
    padding: 24px;
    background: #f7f8fa;
    border: 1px dashed #b8c4d4;
    color: #435167;
    font: 14px/1.5 sans-serif;
}
.ipp-widget .ipp-slot-guide--main { min-height: 260px; }
/* Container queries also adapt when the widget is placed in a narrow Elementor column. */
@container ipp-widget (max-width: 767px) {
    .ipp-widget .ipp-card--main { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .ipp-widget .ipp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ipp-widget .ipp-card--main .ipp-content { padding: 0; }
    .ipp-widget .ipp-card--main .ipp-title { font-size: 32px; }
    .ipp-widget .ipp-card--main .ipp-excerpt { font-size: 18px; }
    .ipp-widget .ipp-card--main .ipp-meta { font-size: 16px; padding-top: 16px; }
    .ipp-widget .ipp-card--small .ipp-title { font-size: 23px; }
}
@container ipp-widget (max-width: 479px) {
    .ipp-widget .ipp-cards { grid-template-columns: minmax(0, 1fr); gap: 26px; }
    .ipp-widget .ipp-empty-slot { display: none; }
    .ipp-widget .ipp-card--main .ipp-title { font-size: 29px; }
    .ipp-widget .ipp-card--small .ipp-title { font-size: 24px; }
    .ipp-widget .ipp-card--small .ipp-excerpt { font-size: 16px; }
    .ipp-widget .ipp-card--small .ipp-content { padding: 12px 0 0; }
}
/* Fallback for browsers without container-query support. */
@supports not (container-type: inline-size) {
    @media (max-width: 767px) {
        .ipp-widget .ipp-card--main { grid-template-columns: minmax(0, 1fr); gap: 18px; }
        .ipp-widget .ipp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .ipp-widget .ipp-card--main .ipp-title { font-size: 32px; }
        .ipp-widget .ipp-card--main .ipp-excerpt { font-size: 18px; }
    }
    @media (max-width: 479px) {
        .ipp-widget .ipp-cards { grid-template-columns: minmax(0, 1fr); }
        .ipp-widget .ipp-empty-slot { display: none; }
    }
}
