/* A small, non-modal editorial card: no page overlay or scroll lock. */
#ci-latest-news[hidden] { display: none !important; }
#ci-latest-news {
    position: fixed;
    z-index: 90;
    right: max(24px, env(safe-area-inset-right));
    bottom: calc(24px + var(--ci-news-bottom, 0px));
    width: 360px;
    max-width: calc(100vw - 48px);
    max-height: calc(100dvh - 80px - var(--ci-news-bottom, 0px));
    overflow: auto;
    overscroll-behavior: contain;
    background: #fff;
    color: #171717;
    border: 1px solid var(--theme-palette-color-1, #cda994);
    border-radius: 0;
    box-shadow: 0 12px 40px rgb(0 0 0 / 23%);
    text-align: left;
}
#ci-latest-news.ci-latest-news--enter { animation: ci-news-enter .5s cubic-bezier(.2,.65,.3,1) both; }
#ci-latest-news .ci-latest-news__visual { display: block; background: #111; }
#ci-latest-news .ci-latest-news__image { display: block; width: 100%; height: 170px; object-fit: cover; border-radius: 0; margin: 0; }
#ci-latest-news .ci-latest-news__body { padding: 20px 24px 24px; }
#ci-latest-news .ci-latest-news__eyebrow { margin: 0 0 8px; font-size: 11px; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: #69584e; font-weight: 600; }
#ci-latest-news .ci-latest-news__title { margin: 0 0 12px; font-family: var(--theme-heading-font-family, 'Baskervville', serif); font-size: 23px; line-height: 1.2; font-weight: 400; letter-spacing: 0; }
#ci-latest-news .ci-latest-news__title a { color: inherit; text-decoration: none; }
#ci-latest-news .ci-latest-news__excerpt { margin: 0 0 18px; font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#ci-latest-news .ci-latest-news__button { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding: 11px 16px; color: #fff; background: var(--theme-palette-color-1, #cda994); font-size: 14px; line-height: 1.4; text-decoration: none; border-radius: 0; }
#ci-latest-news .ci-latest-news__button:hover { background: var(--theme-palette-color-2, #b68c75); color: #fff; }
#ci-latest-news .ci-latest-news__close { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; padding: 0; width: 38px; height: 38px; min-height: 38px; border: 1px solid rgb(205 169 148 / 65%); border-radius: 0; background: #fff; color: #111; font: 28px/1 Arial, sans-serif; cursor: pointer; z-index: 1; }
#ci-latest-news :is(a, button):focus-visible { outline: 2px solid #111; outline-offset: 3px; }
#ci-latest-news.ci-latest-news--no-image .ci-latest-news__body { padding-top: 48px; }
body:has(.fancybox__container) #ci-latest-news,
body:has(.ct-panel.active) #ci-latest-news { visibility: hidden; }
@keyframes ci-news-enter { from { opacity: 0; translate: 0 20px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 600px) {
    #ci-latest-news { width: 370px; max-width: calc(100vw - 24px); right: 50%; transform: translateX(50%); bottom: calc(12px + var(--ci-news-bottom, 0px) + env(safe-area-inset-bottom)); display: grid; grid-template-columns: 88px minmax(0, 1fr); max-height: calc(100dvh - 100px - var(--ci-news-bottom, 0px)); }
    #ci-latest-news .ci-latest-news__visual { min-height: 100%; }
    #ci-latest-news .ci-latest-news__image { height: 100%; object-fit: cover; }
    #ci-latest-news .ci-latest-news__body { padding: 12px 14px; }
    #ci-latest-news .ci-latest-news__eyebrow { font-size: 9px; margin-bottom: 5px; padding-right: 30px; }
    #ci-latest-news .ci-latest-news__title { font-size: 18px; line-height: 1.2; margin-bottom: 7px; padding-right: 12px; }
    #ci-latest-news .ci-latest-news__excerpt { font-size: 12px; line-height: 1.4; margin-bottom: 10px; -webkit-line-clamp: 2; }
    #ci-latest-news .ci-latest-news__button { min-height: 40px; padding: 8px 12px; font-size: 12px; }
    #ci-latest-news .ci-latest-news__close { top: 0; right: 0; width: 36px; height: 36px; min-height: 36px; border: 0; font-size: 25px; }
    #ci-latest-news.ci-latest-news--no-image { grid-template-columns: 1fr; }
    #ci-latest-news.ci-latest-news--no-image .ci-latest-news__body { padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) { #ci-latest-news.ci-latest-news--enter { animation: none; } }
