/* Worship look 02: Weekly calendar. A Sunday-to-Saturday grid with each service in its day column. */
.worship-look-02 {
    background: #f4f7f8;
}

.worship-look-02 .wl-list {
    display: grid;
    gap: .75rem;
}

.worship-look-02 .wl-item {
    position: relative;
    padding: .8rem .9rem .8rem 3.2rem;
    border-left: 4px solid var(--wl-accent);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(46, 62, 78, .08);
}

.worship-look-02 .wl-icon {
    position: absolute;
    top: .9rem;
    left: .9rem;
    font-size: 1.1rem;
    color: var(--wl-accent);
}

.worship-look-02 .wl-name {
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--wl-ink);
}

.worship-look-02 .wl-who {
    font-size: .85rem;
    font-weight: 700;
    color: var(--wl-accent-dark);
}

.worship-look-02 .wl-when {
    margin-top: .2rem !important;
    font-weight: 700;
    color: var(--wl-ink);
}

.worship-look-02 .wl-where {
    font-size: .85rem;
    color: var(--wl-muted);
}

/* The calendar itself needs room for seven columns. */
@media (min-width: 992px) {
    .worship-look-02 .wl-days {
        display: grid;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        border-radius: 12px 12px 0 0;
        background: var(--wl-ink);
        text-align: center;
    }

    .worship-look-02 .wl-days span {
        padding: .65rem 0;
        font-size: .85rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: #fff;
    }

    .worship-look-02 .wl-days span:first-child {
        background: var(--wl-accent-dark);
        border-radius: 12px 0 0 0;
    }

    .worship-look-02 .wl-list {
        grid-template-columns: repeat(7, minmax(0, 1fr));
        grid-template-rows: repeat(3, minmax(6.5rem, auto));
        gap: 0;
        padding: 0;
        border: 1px solid rgba(46, 62, 78, .12);
        border-top: 0;
        border-radius: 0 0 12px 12px;
        background-color: #fff;
        background-image: linear-gradient(to right, rgba(46, 62, 78, .1) 1px, transparent 1px);
        background-size: calc(100% / 7) 100%;
        overflow: hidden;
    }

    .worship-look-02 .wl-item {
        margin: .45rem;
        padding: .6rem .65rem;
        border-left-width: 3px;
        background: rgba(12, 186, 164, .1);
        box-shadow: none;
    }

    .worship-look-02 .wl-adults { grid-column: 1; grid-row: 1; }
    .worship-look-02 .wl-youth { grid-column: 1; grid-row: 2; }
    .worship-look-02 .wl-kids { grid-column: 1; grid-row: 3; }
    .worship-look-02 .wl-morning { grid-column: 3 / span 4; grid-row: 1; }
    .worship-look-02 .wl-wednesday { grid-column: 4; grid-row: 2; }
    .worship-look-02 .wl-friday { grid-column: 6; grid-row: 2; }

    /* The column already says which day it is. */
    .worship-look-02 .wl-item .wl-icon,
    .worship-look-02 .wl-day,
    .worship-look-02 .wl-sep,
    .worship-look-02 .wl-adults .wl-name,
    .worship-look-02 .wl-youth .wl-name,
    .worship-look-02 .wl-kids .wl-name {
        display: none;
    }

    .worship-look-02 .wl-name {
        font-size: .85rem;
    }

    .worship-look-02 .wl-who {
        font-size: .9rem;
        color: var(--wl-ink);
    }

    .worship-look-02 .wl-when {
        margin-top: .1rem !important;
        font-size: 1.05rem;
        color: var(--wl-accent-dark);
    }

    .worship-look-02 .wl-where {
        font-size: .78rem;
    }

    /* Spans Tuesday to Friday, so it has room to read across. */
    .worship-look-02 .wl-morning {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        align-self: center;
        gap: 0 1rem;
    }
}

.worship-look-02 .wl-translation {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1.25rem;
    margin-top: 1.5rem;
    padding: 1.1rem 1.4rem;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(46, 62, 78, .08);
}

.worship-look-02 .wl-translation .wl-icon {
    position: static;
    font-size: 1.5rem;
    color: var(--wl-accent);
}

.worship-look-02 .wl-translation h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--wl-ink);
}

.worship-look-02 .wl-text {
    flex: 1 1 100%;
    order: 3;
    color: var(--wl-muted);
}

.worship-look-02 .wl-action {
    order: 4;
}

@media (min-width: 992px) {
    .worship-look-02 .wl-text {
        flex: 1 1 0;
        order: 0;
    }

    .worship-look-02 .wl-action {
        order: 0;
        margin-left: auto !important;
    }
}

.dark .worship-look-02 {
    background: transparent;
}

.dark .worship-look-02 .wl-item,
.dark .worship-look-02 .wl-translation,
.dark .worship-look-02 .wl-list {
    background-color: rgba(255, 255, 255, .05);
}

.dark .worship-look-02 .wl-name,
.dark .worship-look-02 .wl-when,
.dark .worship-look-02 .wl-translation h3 {
    color: #fff;
}

.dark .worship-look-02 .wl-where,
.dark .worship-look-02 .wl-text {
    color: rgba(255, 255, 255, .7);
}
