/* ============================================================
   Saint of the Day feed
   Ticket #36693 · module 1106 (content-top-a) · scoped by .sod-feed
   Palette: light blue #6098c9 · deep blue #303882
            gold #ccb566 / #cfbb75 · yellow #e6d977
   Fonts: Spectral (headings) · Lato (body)
   ============================================================ */

html body .moduletable.sod-feed {
    --sod-blue: #6098c9;
    --sod-deep: #303882;
    --sod-gold: #ccb566;
    --sod-gold-soft: #cfbb75;
    --sod-yellow: #e6d977;
    --sod-ink: #333;

    position: relative;
    margin: 0 0 1.5rem;
    padding: 1.5rem 1.75rem 1.75rem;
    background: #f8fbfd;
    border: 1px solid rgba(96, 152, 201, .28);
    border-radius: .6rem;
    box-shadow: 0 8px 22px rgba(48, 56, 130, .08);
    transition: box-shadow .3s ease;
}

html body .moduletable.sod-feed:hover {
    box-shadow: 0 12px 28px rgba(48, 56, 130, .13);
}

/* module title */
html body .moduletable.sod-feed > h3.g-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 1rem;
    padding: 0 0 .6rem;
    font-family: 'Spectral', serif;
    font-size: 1.75rem;
    line-height: 1.2;
    color: var(--sod-deep);
    border-bottom: 1px solid rgba(96, 152, 201, .3);
}

/* small gold ring before the title */
html body .moduletable.sod-feed > h3.g-title::before {
    content: "";
    flex: 0 0 auto;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    border: 3px solid var(--sod-gold-soft);
}

/* feed list reset */
html body .moduletable.sod-feed .feed ul.newsfeed {
    margin: 0;
    padding: 0;
    list-style: none;
}

html body .moduletable.sod-feed .feed ul.newsfeed > li {
    margin: 0;
    padding: 0;
}

/* item title */
html body .moduletable.sod-feed .feed-link {
    display: block;
    margin: 0 0 .5rem;
}

html body .moduletable.sod-feed .feed-link a {
    font-family: 'Spectral', serif;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--sod-gold);
    text-decoration: none;
    background-image: linear-gradient(var(--sod-blue), var(--sod-blue));
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0% 2px;
    transition: color .3s ease, background-size .3s ease;
}

html body .moduletable.sod-feed .feed-link a::after {
    content: "\2197"; /* outward arrow — link opens in a new tab */
    margin-left: .3em;
    font-size: .8em;
    color: var(--sod-blue);
    opacity: .7;
}

html body .moduletable.sod-feed .feed-link a:hover,
html body .moduletable.sod-feed .feed-link a:focus-visible {
    color: var(--sod-blue);
    background-size: 100% 2px;
}

/* description block, quote style */
html body .moduletable.sod-feed .feed-item-description {
    margin: 0;
    padding: .2rem 0 .2rem 1rem;
    border-left: 3px solid var(--sod-yellow);
    color: var(--sod-ink);
    font-family: 'Lato', sans-serif;
    font-size: 1.02rem;
    line-height: 1.55;
}

@media only screen and (max-width: 767px) {
    html body .moduletable.sod-feed { padding: 1.1rem 1.15rem 1.25rem; }
    html body .moduletable.sod-feed > h3.g-title { font-size: 1.45rem; }
    html body .moduletable.sod-feed .feed-link a { font-size: 1.18rem; }
}
