/* Home page theme: parish palette. Layout comes from Bootstrap utilities. */
:root {
    --parish-terracotta: #E07A5F;
    --parish-terracotta-hover: #EC8E74;
    --parish-sand: #F4F1DE;
    --parish-olive: #81B29A;
    --parish-danger: #C94A29;
    --parish-ochre: #F2CC8F;
    --parish-blue: #3D5A80;
    --parish-light: #FBFBF9;
    --parish-dark: #3D405B;
    --parish-ink: #1E1F2E;
}

.parish-content img {
    max-width: 100%;
    height: auto;
    border-radius: .75rem;
}

.parish-content table {
    max-width: 100%;
}

.bg-parish-dark {
    background-color: var(--parish-dark) !important;
}

.bg-parish-sand {
    background-color: var(--parish-sand) !important;
}

.text-parish-blue {
    color: var(--parish-blue) !important;
}

.text-parish-ochre {
    color: var(--parish-ochre) !important;
}

.text-parish-dark {
    color: var(--parish-dark) !important;
}

.home-hero {
    color: var(--parish-light);
}

.home-hero .home-eyebrow {
    color: var(--parish-ochre);
}

.btn-parish {
    --bs-btn-color: var(--parish-ink);
    --bs-btn-bg: var(--parish-terracotta);
    --bs-btn-border-color: var(--parish-terracotta);
    --bs-btn-hover-color: var(--parish-ink);
    --bs-btn-hover-bg: var(--parish-terracotta-hover);
    --bs-btn-hover-border-color: var(--parish-terracotta-hover);
    --bs-btn-active-color: var(--parish-ink);
    --bs-btn-active-bg: var(--parish-terracotta-hover);
    --bs-btn-active-border-color: var(--parish-terracotta-hover);
    --bs-btn-disabled-color: var(--parish-ink);
    --bs-btn-disabled-bg: var(--parish-terracotta);
    --bs-btn-disabled-border-color: var(--parish-terracotta);
    font-weight: 600;
}

.card-parish .card-header {
    background-color: var(--parish-sand);
    color: var(--parish-dark);
    border-bottom: 0;
    font-weight: 600;
}

.section-heading {
    border-left: 0.3rem solid var(--parish-terracotta);
    padding-left: 0.75rem;
}

.news-thumb {
    object-fit: cover;
    transition: transform 0.5s ease;
}

@keyframes home-rise {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes home-drift {

    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes home-float {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(12px, -10px);
    }
}

@keyframes home-heartbeat {

    0%,
    100% {
        transform: scale(1);
    }

    15% {
        transform: scale(1.12);
    }

    30% {
        transform: scale(1);
    }
}

.home-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-image:
        radial-gradient(circle at 15% 20%, rgba(224, 122, 95, 0.35), transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(129, 178, 154, 0.3), transparent 40%),
        linear-gradient(120deg, #3D405B, #3D5A80, #3D405B);
    background-size: 100% 100%, 100% 100%, 200% 200%;
    animation: home-rise 0.7s ease both, home-drift 14s ease-in-out infinite;
}

.home-hero::before,
.home-hero::after {
    content: "";
    position: absolute;
    width: 14rem;
    height: 14rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242, 204, 143, 0.25), transparent 70%);
    z-index: 0;
    pointer-events: none;
}

.home-hero::before {
    top: -4rem;
    left: -3rem;
    animation: home-float 9s ease-in-out infinite;
}

.home-hero::after {
    right: -4rem;
    bottom: -5rem;
    animation: home-float 11s ease-in-out infinite reverse;
}

.home-hero>* {
    position: relative;
    z-index: 1;
}

.home-heart {
    display: inline-block;
    animation: home-heartbeat 2.4s ease-in-out infinite;
}

.card-parish {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card-parish:hover {
    transform: translateY(-4px);
    box-shadow: 0 0.75rem 1.5rem rgba(61, 64, 91, 0.18) !important;
}

.card-parish:hover .news-thumb {
    transform: scale(1.05);
}

.row.g-4>.col-lg-4>.card-parish {
    border-top: 4px solid var(--parish-terracotta);
    animation: home-rise 0.6s ease backwards;
}

.row.g-4>.col-lg-4:nth-child(2)>.card-parish {
    border-top-color: var(--parish-olive);
    animation-delay: 0.1s;
}

.row.g-4>.col-lg-4:nth-child(3)>.card-parish {
    border-top-color: var(--parish-blue);
    animation-delay: 0.2s;
}

.row-cols-md-3>.col>.card-parish {
    animation: home-rise 0.6s ease backwards;
}

.row-cols-md-3>.col:nth-child(2)>.card-parish {
    animation-delay: 0.1s;
}

.row-cols-md-3>.col:nth-child(3)>.card-parish {
    animation-delay: 0.2s;
}

.list-group-item {
    transition: background-color 0.2s ease, padding-left 0.2s ease;
}

.list-group-item:hover {
    background-color: rgba(244, 241, 222, 0.6);
}

.btn-parish {
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.btn-parish:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1rem rgba(224, 122, 95, 0.35);
}

.btn-outline-light {
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.btn-outline-light:hover {
    transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {

    .home-hero,
    .home-hero::before,
    .home-hero::after,
    .home-heart,
    .card-parish,
    .row.g-4>.col-lg-4>.card-parish,
    .row-cols-md-3>.col>.card-parish {
        animation: none !important;
        transition: none !important;
    }

    .card-parish:hover,
    .btn-parish:hover,
    .btn-outline-light:hover,
    .list-group-item:hover {
        transform: none !important;
    }
}

/* nibin added */

.daily-list-title {
    font-family: 'Lora', Georgia, serif;
    font-size: calc(1.3rem + 0.4vw);
    font-weight: 500;
    line-height: 1.2;
}

.daily-list-content {
    margin-top: 1rem;
}