
/* WORLDCALENDARY - RELATED CONTENT / INTERNAL LINKS */

.related-content-section{
    padding:10px 0 6px;
}

.related-block{
    margin-top:24px;
    padding:22px;
    border:1px solid #dfe6ef;
    border-radius:14px;
    background:#fff;
}

.related-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.related-heading h2{
    margin:3px 0 4px;
    font-size:24px;
    line-height:1.15;
}

.related-heading p{
    margin:0;
    color:#66768b;
    line-height:1.45;
}

.related-kicker{
    display:block;
    color:#245f9e;
    font-size:11px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.related-heading-link{
    flex:0 0 auto;
    color:#245f9e;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

.related-heading-link:hover{
    text-decoration:underline;
}

/* Tools */
.related-tools-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.related-tool-card{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:7px;
    padding:17px;
    border:1px solid #e1e7ef;
    border-radius:12px;
    background:#fbfcfe;
    color:#172033;
    text-decoration:none;
    transition:.15s ease;
}

.related-tool-card:hover{
    transform:translateY(-1px);
    border-color:#bdd0e6;
    background:#fff;
}

.related-tool-card strong{
    font-size:17px;
    line-height:1.2;
}

.related-tool-card span{
    flex:1;
    color:#65758a;
    font-size:14px;
    line-height:1.45;
}

.related-tool-card b{
    color:#245f9e;
    font-size:13px;
}

/* Holidays */
.related-holidays-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.related-holiday-card{
    min-width:0;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:11px;
    align-items:center;
    padding:13px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#fff;
}

.related-holiday-date{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:48px;
    border-radius:9px;
    background:#f2f6fb;
}

.related-holiday-date strong{
    color:#1f4f86;
    font-size:19px;
    line-height:1;
}

.related-holiday-date span{
    margin-top:3px;
    color:#6b7b90;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
}

.related-holiday-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.related-holiday-copy strong{
    overflow-wrap:anywhere;
    font-size:14px;
    line-height:1.25;
}

.related-holiday-copy span{
    color:#748398;
    font-size:11px;
}

/* Years */
.related-years{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.related-years a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:14px 16px;
    border:1px solid #e0e7f0;
    border-radius:11px;
    background:#fff;
    color:#172033;
    text-decoration:none;
}

.related-years a:hover{
    border-color:#bfd0e4;
    background:#f9fbfd;
}

.related-years span{
    color:#6b7a8d;
    font-size:13px;
}

.related-years strong{
    color:#245f9e;
    font-size:19px;
}

/* Cities */
.related-cities-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.related-city-card{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:15px 16px;
    border:1px solid #e0e7f0;
    border-radius:11px;
    background:#fff;
    color:#172033;
    text-decoration:none;
    transition:.15s ease;
}

.related-city-card:hover{
    border-color:#bfd0e4;
    background:#f9fbfd;
}

.related-city-card>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.related-city-card strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:15px;
}

.related-city-card span{
    color:#728197;
    font-size:12px;
}

.related-city-card small{
    flex:0 0 auto;
    max-width:108px;
    color:#245f9e;
    font-size:11px;
    font-weight:700;
    line-height:1.25;
    text-align:right;
}

@media(max-width:980px){
    .related-tools-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .related-holidays-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .related-cities-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .related-content-section{
        padding-top:4px;
    }

    .related-block{
        margin-top:16px;
        padding:16px;
        border-radius:12px;
    }

    .related-heading{
        align-items:flex-start;
        margin-bottom:13px;
    }

    .related-heading h2{
        font-size:20px!important;
    }

    .related-heading p{
        font-size:13px;
    }

    .related-tools-grid,
    .related-holidays-grid,
    .related-cities-grid{
        grid-template-columns:1fr;
        gap:8px;
    }

    .related-years{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .related-tool-card{
        padding:14px;
    }

    .related-holiday-card{
        padding:11px;
    }

    .related-city-card{
        padding:13px 14px;
    }

    .related-city-card small{
        max-width:90px;
    }
}
